Ruby について Part 3
■ このスレッドは過去ログ倉庫に格納されています
module InsertionSort
module_function
def insertion_sort!(array)
modified = nil
for n in 0..array.size-1
n.downto(1) do |i|
break unless array[i-1] > array[i]
array[i-1], array[i], modified = array[i], array[i-1], true
end
end
modified and array
end
def insertion_sort(array)
insertion_sort!(copy = array.dup) or copy
end
end
■ このスレッドは過去ログ倉庫に格納されています