-1

我正在尝试进行冒泡排序。我正在路过bubble_sort([5, 4, 3, 2, 1]),我收到一条错误消息:ArgumentError: comparison of Fixnum with nil failed。我不认为arr[i]或者arr[i + 1]nil。请帮忙。这是我的代码:

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
4

1 回答 1

2

我想你的意思是while i < (arr.length - 1)

于 2013-05-07T20:48:50.210 回答