搞笑的排序算法-睡覺排序

搞笑的排序算法---睡覺排序

import java.util.Arrays;
import java.util.concurrent.CountDownLatch;

/**
 * CopyRight (c) 2018 freebug.org Technology Inc.
 *
 * @author [email protected]
 * @date 2018/11/20 11:17
 * @since 1.8
 */
public class SleepSort {
    public static void main(String[] args) {
        // int[] array = new int[]{5446, 584, 1, 4, 3, 777, 8, 9, 33, 6666, 33};

        int[] array = getArray();
        CountDownLatch latch = new CountDownLatch(array.length);

        System.out.println("Array: " + Arrays.toString(array));

        for (int i = 0; i < array.length; i++) {
            final int value = array[i];

            new Thread(() -> {
                latch.countDown();

                try {
                    Thread.sleep(value);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                System.out.print(value + "\n");
            }).start();
        }

        try {
            latch.await();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    private static int[] getArray() {
        int loop = (int) (Math.random() * 20);
        if (loop <= 0) {
            return getArray();
        }

        int[] array = new int[loop];
        for (int i = 0; i < loop; i++) {
            array[i] = (int) (Math.random() * 10000);
        }

        return array;
    }
}

以上代碼,看得懂的人早已捧腹大笑,看不懂的人,肯定在嗤之以鼻!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章