sleep sort - Javaで実装してみた(笑)
TwitterのTLで知ったのだが、少し前に海外の掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。
http://d.hatena.ne.jp/gfx/20110519/1305810786
なんて斬新な発想!
というわけで、私もさっそくJavaで実装してみました。Javaなかったみたいなので。
/** sleep sort */ public class SleepSort { /** main */ public static void main(String args[]) { if (args.length <= 0) return; int[] values = new int[args.length]; for (int i = 0; i < values.length; i++) { values[i] = Integer.valueOf(args[i]); } sleepSort(values); } /** sleepSort */ private static void sleepSort(int[] values) { class SleepSortThread extends Thread { private int waitTime; public SleepSortThread(int waitTime) { this.waitTime = waitTime; } public void start() { super.start(); } public void run() { try { Thread.sleep(waitTime * 1000); } catch (InterruptedException e) { // TODO Auto-generated catch block } System.out.println(Integer.toString(waitTime)); } } for (int i = 0; i < values.length; i++) { SleepSortThread thread = new SleepSortThread(values[i]); thread.start(); } } }
実用性とか、ツッコミどころは多々あるかと思うけど、こういう発想って大事だと思う。
何より笑える:)