最脑残的排序算法——睡眠排序,面试官你先去睡一觉,醒来就好了

package com.sleep;

public class Main {

    public static void main(String[] args) {

        int[] arr = {1, 9, 2, 8, 8, 3, 6, 4, 5, 7};

        for (int i1 : arr) {
            new SleepThread(i1).start();
        }
    }
}

class SleepThread extends Thread {

    private int number;

    SleepThread(int number) {
        this.number = number;
    }

    @Override
    public void run() {
        try {
            Thread.sleep(number * 500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        System.out.println(number + "");
    }
}

最脑残的排序算法——睡眠排序,面试官你先去睡一觉,醒来就好了

这里*500毫秒,方便看过程,如果数大一点,嗯…就像标题写的那样了

睡眠排序虽然挺有意思,但是没有任何实际价值,它的缺点简直不要太多……

启动大量线程的资源消耗姑且不说,数值接近的元素也未必能按顺序输出,而且一旦遇到很大的元素,线程睡眠时间可能会超过一个月……

猜你喜欢

转载自blog.csdn.net/GYHYCX/article/details/106366802
今日推荐