2013-05-07 72 views
-1

我正在尝试做一个气泡排序。我通过了bubble_sort([5, 4, 3, 2, 1]),我收到一条错误消息:ArgumentError: comparison of Fixnum with nil failed。我不认为arr[i]arr[i + 1]nil。请帮忙。这是我的代码:无法比较Fixnum和零红宝石

def bubble_sort(arr) 

    until arr == arr.sort 
    i = 0 
    while i < arr.length 
     if arr[i] > arr[i + 1] 
     arr[i], arr[i + 1] = arr[i + 1], arr[i] 
     end 
     i += 1 
    end 
    end 
    arr 
end 

回答

2

我认为你的意思while i < (arr.length - 1)

+2

又一个很好的例子,你应该更喜欢循环迭代器方法。 – 2013-05-07 21:15:03