“相信猴子给你排的序么——无名氏”
算法简介
猴子排序(又称bogo排序)靠的就是random
(随机)
os:还不如让猴子排
有些资料上说是O(n× n!) 的复杂度,(居然有资料记录这么无聊的算法,其实我也很无聊)
最好是O(n),最差到O(+∞),也就是说,我们有可能永远看不到数组排好的那一天了;
思路
这个··· ···
random!!
代码(虽说你可能永远也用不上)
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>//random需要的头文件
using namespace std;
const int maxn = 103;
int n, a[maxn];
bool Ordered() {
for (int i = 0; i + 1 < n; ++ i) {
if (a[i] > a[i + 1]) {
return false;
}
}
return true;
}
int main() {
cin >> n;
for (int i = 0; i < n; ++ i) {
cin >> a[i];
}
while (!Ordered()) {
random_shuffle(a, a + n);
}
for (int i = 0; i < n; ++ i) {
cout << a[i] << ' ';
}
cout << endl;
}