查看: 5930|回复: 2

天才排序算法——睡眠排序

 关闭 [复制链接]
发表于 2014-8-27 16:26:21 | 显示全部楼层 |阅读模式
原帖地址
下面请欣赏这个天才的代码,相信你会大吃一惊的O(∩_∩)O
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);
    }
}

js版本:
// Javascript

function lazySort(list, callback) {
    var result = [];

    list.forEach(function(i) {
        setTimeout(function() {
            result.push(i);
            
            if(result.length == list.length) {
                callback(result);
            }
        }, i);
    });
}

lazySort([4,5,7,1,2,4,5], alert);

众所周知,各种排序算法都需要比较数字的大小,然而该算法超出了该范畴,不需要进行比较,仅仅通过建立多线程然后让线程睡眠对应的时间来达到排序的目的,效率怎么样先不多说,光这个想法就惊世骇俗了吧。
回复

使用道具 举报

 楼主| 发表于 2014-8-28 08:48:54 | 显示全部楼层
Genius 发表于 2014-8-27 17:16
卧槽,暂且不论沙发,我说地址呢!!!原帖呢?!!

http://dis.4chan.org/read/prog/1295544154
我记得我有加超链接的!不知道怎么就没了
回复 支持 反对

使用道具 举报

发表于 2014-8-27 17:16:49 | 显示全部楼层
卧槽,暂且不论沙发,我说地址呢!!!原帖呢?!!

点评

http://dis.4chan.org/read/prog/1295544154 我记得我有加超链接的!不知道怎么就没了  详情 回复 发表于 2014-8-28 08:48
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-3-9 12:22 , Processed in 0.020970 second(s), 12 queries , Gzip On, MemCache On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部