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

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毫秒,方便看过程,如果数大一点,嗯…就像标题写的那样了

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

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
05-01 13:13
ecece:这么明目张胆虚报就业率啊
点赞 评论 收藏
分享
待现的未见之事:起码第一句要把自己的优势说出来吧。比如什么xx本27届学生,随时到岗....
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务