testKai 发表于 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;
      for (int i = 0; i < sortThreads.length; i++) {
            sortThreads = new SortThread(ints);
      }
      for (int i = 0; i < sortThreads.length; i++) {
            sortThreads.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(, alert);

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

testKai 发表于 2014-8-28 08:48:54

Genius 发表于 2014-8-27 17:16
卧槽,暂且不论沙发,我说地址呢!!!原帖呢?!!

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

Genius 发表于 2014-8-27 17:16:49

卧槽,暂且不论沙发,我说地址呢!!!原帖呢?!!
页: [1]
查看完整版本: 天才排序算法——睡眠排序