Rubyでクイックソート
仕事中に見つけて思わずのめりこんでしまいました。
http://rubygof.googlecode.com/svn/trunk/strategy.rb
class QuickSort def sort arr return [] if arr.length == 0 x, *xs = *arr smaller, bigger = xs.partition{ |other| other < x } sort(smaller) + [x] + sort(bigger) end end
こんなに綺麗なコードで実現できるなんて、やっぱりRubyは奥が深い。