sleep sortをRubyで実装してみた。
常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream
元ネタは上記ですよ。
sleepsort.rb
#!/usr/bin/rubythreads = []
ARGV.each do |number|
threads << Thread.new do
sleep number.to_f/10
puts number
end
endthreads.each do |thread|
thread.join
end
1秒Sleepしていると遅いので、待ち時間を1/10にしてみました。
実行結果
ruby sleepsort.rb 5 3 6 3 6 3 1 4 71
3
3
3
4
5
6
6
7