Java排序算法之SleepSort排序示例

时间:2021-09-21 16:53:32

本文实例讲述了Java排序算法之SleepSort排序。分享给大家供大家参考,具体如下:

分享一个很有创意的排序算法:sleepSort 。巧妙利用了线程的sleep(),代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class SleepSort {
  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    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) {
      e.printStackTrace();
    }
    System.out.println(ms);
  }
}

希望本文所述对大家java程序设计有所帮助。