Tôi vừa mới bắt đầu khóa học Giới thiệu về thuật toán của MIT thông qua tài liệu được đăng trực tuyến. Cùng với khóa học, tôi cũng đã quyết định học/nâng cao kỹ năng Ruby của mình bằng cách mã hóa các thuật toán trong đó.Sắp xếp học tập Sắp xếp theo Ruby
Tôi đang trên thuật toán đầu tiên được đưa ra, đó là Sắp xếp chèn, và tôi đã gõ đoạn mã sau lên nhưng tôi nhận được lỗi này khi tôi chạy nó:
insertionsort.rb: 5: trong ` > ': so sánh Fixnum với con số không thất bại (ArgumentError)
def insertionsort(num)
for j in 2..num.length
key = num[j]
i = j - 1
while i > 0 and num[i] > key
num[i+1] = num[i]
i = i - 1
end
num[i+1] = key
end
puts num
end
numbers = [23,34,46,87,12,1,66]
insertionsort(numbers)
tôi chắc chắn rằng nó là một vấn đề khá cơ bản nhưng tôi chỉ không thể nắm bắt nó là gì vào lúc này. Bất kỳ trợ giúp hoặc lời khuyên nào sẽ được đánh giá rất nhiều.
Cảm ơn, tôi chỉ mới bắt đầu chương trình này sau khi tôi thực hiện theo dõi các bài giảng mà sử dụng mảng bắt đầu từ 1. –