Arrays 如何在ruby中运行每个_索引直到最后一个元素?
我试图在ruby中实现一个冒泡排序。对于迭代,我为输入数组使用了每个_索引。我在最后一个索引处得到一个错误,因为I+1索引元素为nil,ruby给出了一个异常,将其与Fixnum进行比较。有办法绕过它吗?我可以在最后的第二个元素停止每个索引吗Arrays 如何在ruby中运行每个_索引直到最后一个元素?,arrays,ruby,iterator,each,Arrays,Ruby,Iterator,Each,我试图在ruby中实现一个冒泡排序。对于迭代,我为输入数组使用了每个_索引。我在最后一个索引处得到一个错误,因为I+1索引元素为nil,ruby给出了一个异常,将其与Fixnum进行比较。有办法绕过它吗?我可以在最后的第二个元素停止每个索引吗 def bubble_sort(array) flag = false while flag == false array.each_index do |i| if array[i] > arr
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])
看一看
def bubble_sort(array)
flag = false
while flag == false
array.each_index.each_cons(2) do |i,j|
if array[i] > array[j]
array[i], array[j] = array[j], array[i]
flag = false
else
flag = true
end
#etc