c语言中全排列问题
发布网友
发布时间:2022-04-22 18:27
我来回答
共5个回答
热心网友
时间:2023-10-24 16:29
//输入一个数输出这个数所有的排列,递归做法
#include<stdio.h>
int a[100];
int n;
void output()
{
int i;
for(i=1;i<=n;i++)
printf("%3d",a[i]);
printf("\n");
}
void Swap(int &a,int &b) //注意取地址
{
int t;
t=a;
a=b;
b=t;
}
void pailie(int t)
{
int i;
if(t==n) //输出
{
output();
return ;
}
for(i=t;i<=n;i++)
{
Swap(a[i],a[t]); //交换
pailie(t+1);
Swap(a[t],a[i]); //换回
}
}
int main()
{
int i;
while(scanf("%d",&n)!=EOF&&n!=0)
{
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
pailie(1);
}
return 0;
}
热心网友
时间:2023-10-24 16:30
冒泡法
热心网友
时间:2023-10-24 16:30
自己找本书看,任意一本数据结构的书都有详细的讲解排序
热心网友
时间:2023-10-24 16:31
说一下你的要求吧
热心网友
时间:2023-10-24 16:31
具体问题呢?