1
我試圖在ruby中實現泡沫排序。對於迭代,我使用each_index作爲輸入數組。我在最後一個索引處得到一個錯誤,因爲i + 1索引元素是零,而ruby提供了與Fixnum相比較的例外。有沒有辦法解決它?不知何故,我可以在第二個元素處停止each_index嗎?如何在ruby中運行each_index直到倒數第二個元素?
def bubble_sort(array)
flag = false
while flag == false
array.each_index do |i|
if array[i] > array[i+1]
array[i], array[i+1] = array[i+1], array[i]
flag = false
else
flag = true
end
end
end
puts array
end
bubble_sort([2,5,3,8,5,6,10])