多线程并发排序使得排序效率更高,设计者脑洞真大。。。
排序算法一般是力求兼顾时间和空间的平衡。
当数值太小时,误差太大,睡眠的时间不比输出的时间少,就会存在不正确的输出结果。
public class SortUtil{
public static void main(String[] args){
int[] nums=new int[]{1,2,34,4,45,56};
sleepSort(nums);
}
public static void sleepSort(int[] nums){
for(int i=0;i{
try{
Thread.sleep(num);
}catch(InterruptedException e){
e.printStackTrace();
}
System.out.println(num);
}).start();
}
}
}
真是厉害啊,这排序 ,时间复杂度是o(n)
但是有很多bug。比如
(1) 搞不定负数。
(2)比如输入数据很相近时会有误差
(3)输入数据很多时,这些线程不能看作是同时启动等等...



