Bogo排序

我不知道这个能不能算排序。。。维基上有这个排序名称。。。但我感觉它纯碎在卖萌。。。

基本思路:随机打乱数组,然后看看数组有序了没,如果没?继续随机打乱继续看。。。直至有序。

神一般的低效。排几十个数不知道要跑多久。。。

public static void bogoSort(int[] A){
    while(!inOrder(A))
        shuffle(A);
}

private static boolean inOrder(int[] A){
    for(int i = 0; i < A.length-1; i ++){
        if(A[i] > A[i+1])return false;
    }
    return true;
}

private static void shuffle(int[] A){
    Random rand = new Random();
    for(int i = 0; i < A.length; i ++){
        int tmp = rand.nextInt(A.length);
        swap(A, i, tmp);
    }
}
Java
原文地址:https://www.cnblogs.com/7hat/p/3381377.html