選択ソート

選択ソート

Rubyアルゴリズムの勉強してます。 元ネタはプログラミングコンテスト攻略のためのアルゴリズムとデータ構造です。

# 画面に配列の状態を出力する
def trace(ary)
    puts ary.join(", ")
end
# 配列を受取、挿入ソートする
def selectionSort(ary)
    n = ary.size
    (0..(n - 2)).each do |i|
        minj = i
        (i..(n - 1)).each do |j|
            minj = j if ary[j] < ary[minj]
        end
        t = ary[i]
        ary[i] = ary[minj]
        ary[minj] = t

        trace ary
    end
    ary
end

ary = gets.split(" ").map(&:to_i)
trace ary
selectionSort ary