睡眠排序

来源:互联网 发布:双色球组合算法 编辑:程序博客网 时间:2024/04/29 02:01

转自: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);
    }
}

0 0
原创粉丝点击