c语言实现Bogo排序

来源:百度知道 编辑:UC知道 时间:2024/06/17 18:26:48
Bogo排序的基本思想是什么?
c语言如何实现Bogo排序?

#include <stdio.h>
#include <memory.h>
int n;
int a[30]; //存储数据
int s[30]; //存储下标排列
bool used[30];
void bogosort(int x)
{
if ( x==n+1 )
{
bool flag=true;
for (int i=1; i<n; i++)
if( a[s[i]] > a[s[i+1]])
{
flag=false; break;
}
if (flag)
{
for (int i=1; i<=n; i++)
printf("%d ",a[s[i]]);
printf("\n");
}
}
else
{
for (int i=1; i<=n; i++)
if(!used[i])
{
s[x]=i;
used[i]=true;
bogosort(x+1);
used[i]=false;
}
}
}
int main()
{
printf("输入元素个数:");
scanf("%d", &n);
printf("输入%d个待排序元素\n", n