我想用 Ruby 编写一个冒泡排序程序。请不要在没有首先指出我的代码中的错误的情况下建议一种新的方法。我可以查找 Ruby 冒泡排序方法的答案,但我不知道为什么我的代码不起作用。
我正在使用while
循环,但是,我的方法似乎不会连续循环,直到它完全通过一次而不进行交换。我没有while
正确使用循环吗?
这是我的脚本:
def bubblesort(array)
i = 0
swapped = true
lenght = array.length-1
while swapped do
swapped = false
while i <lenght
n = i +1
if array[i] > array[n]
dummy = array[i]
array[i]= array[n]
array[n] = dummy
swapped = true
end
i+=1
end
end
return array
end