0
試圖實現一個簡單的氣泡排序。代碼如下:紅寶石氣泡排序不排序所有元素
def bubble(array)
start = 0
sorted = []
while start < array.length - 1
if array[start] > array[start + 1]
array[start], array[start + 1] = array[start + 1], array[start]
else
end
start += 1
end
return array
end
print bubble([4,8,2,6,7,1])
我得到的輸出是:
[4, 2, 6, 7, 1, 8]
哪裏是我的代碼的問題?
你的'開始'計數器需要以某種方式重置,以便繼續進行比較。現在你的'while'循環只能遍歷所有的數字 –
'else end'是多餘的fyi; @philipyoo是正確的,你需要重複遍歷數組,直到沒有更多的交換完成 – oldrinb