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])