这是一种很神经的算法,没有十年脑血栓想不出来
原理就是开很多线程,线程数量等于你要排序的元素数量,让他们按照原数组顺序输出,过程中让线程睡眠,睡的时长跟元素自身大小对应,所以越大睡的越久
public static void main(String[] args) { int[] ints = {3, 5, 9, 4, 6, 7, 2}; for (int i : ints) { Thread thread = new Thread(() -> { try { Thread.sleep(i * 10); System.out.println(i); } catch (InterruptedException e) { e.printStackTrace(); } }); thread.start(); } }
先不说效率,你就说能不能实现吧