隣り合う要素を比較して交換を繰り返す、基本的なソートアルゴリズムの実装例です。コピペで動くコードと実行結果、処理の流れを確認できます。 下のコードはブラウザ内でそのまま実行できます。「実行エディタで開く」を押すと、progoのオンラインRuby実行環境にコードが読み込まれ、その場で動作を確認できます。
arr = [5, 2, 8, 1, 9, 3]
n = arr.length
(0...n - 1).each do |i|
(0...n - i - 1).each do |j|
if arr[j] > arr[j + 1]
arr[j], arr[j + 1] = arr[j + 1], arr[j]
end
end
end
puts arr.join(", ")
▶ このコードを実行エディタで開く
(0...n-1).eachで外側ループを書きます。