我想在Ruby中編寫一個冒泡排序程序。如果不先指出我的代碼中的錯誤,請不要提出新的方法。我可以查找Ruby冒泡排序方法的答案,但我無法弄清楚爲什麼我的代碼無法工作。在氣泡排序中實現while循環?
我正在使用一個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
你「而換做」,那麼爲什麼不「而I
我會將'lenght'變量重命名爲'length';) – Huluk
嗨Ali。如果其中一個答案幫助您解決了問題,那麼您應該將其標記爲已接受的答案並/或將其取消。請參閱[常見問題]瞭解更多信息。 –