什么是Bogo Sort?
猴子排序 (Bogo Sort) 是个既不实用又原始的排序算法,其原理等同将一堆卡片抛起,落在桌上后检查卡片是否已整齐排列好,若非就再抛一次。其名字源自 Quantum bogodynamics,又称 bozo sort、blort sort 或猴子排序(参见无限猴子定理)。并且在最坏的情况下所需时间是无限的。
原理:每一次都把数据进行随机打乱,然后进行匹配,如果成功,结束!反之,继续随机打乱重复操作!
直接上代码
public class BogoSort<T> {
public static <T extends Comparable<T>> T[] bogoSort(T[] arr) {
//判断是否为有序
while (!isSorted(arr)) {
//打乱排序
sorted(arr);
}
return arr;
}
public static <T extends Comparable<T>> boolean isSorted(T[] arr) {
for (int i = 0; i < arr.length-1; i++) {
int compareTo = arr[i].compa