選択ソート(selection sort)
配列の中から最大値(or 最小値)を探し、最後の要素と入れ換えていく。
これはサクッと実装できた。
def selection_sort(list) dup = list.dup (dup.length - 1).downto(0) {|limit| pos = 0 0.upto(limit) {|i| pos = i if dup[i] > dup[pos] } tmp = dup[limit] dup[limit] = dup[pos] dup[pos] = tmp } dup end