Rubyでバブルソートプログラムを書きたいです。私のコードのバグを最初に指摘せずに、これを行うための新しい方法を提案しないでください。Rubyのバブルソート方法の答えを調べることはできますが、コードが機能しない理由がわかりません。
ループを使用していwhile
ますが、スワップを行わずに完全に1回通過するまで、メソッドは継続的にループしないようです。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