转自:http://blog.csdn.net/nash_/article/details/8514088
睡眠排序:数值多少让他sleep多少秒,sleep后输出数值就是排序的结果。
致命的缺点:1.只有两个数1和1024。只能等到1024秒以后才可以输出结果,性能很不好。(所有数据必须读取到内存中。)
2.不能有负数。
java版实现:
public class SleepSort {
public static void main(String[] args) {
int[] ints = {1,4,7,3,8,9,2,6,5};
SortThread[] sortThreads = new SortThread[ints.length];
for (int i = 0; i < sortThreads.length; i++) {
sortThreads[i] = new SortThread(ints[i]);
}
for (int i = 0; i < sortThreads.length; i++) {
sortThreads[i].start();
}
}
}
class SortThread extends Thread{
int ms = 0;
public SortThread(int ms){
this.ms = ms;
}
public void run(){
try {
sleep(ms*10+10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(ms);
}
}