#include <stdio.h>
int swap(int *a,int *b)
{
int temp=*a;
*b=*a;
*a=temp;
}
void sort(int array[],int now,int top)//now为排到的当前下标;top为下标头
{
if(now==top){
for(int i=0;i<=top;i++)
printf("%d ",array[i]);
putchar('\n');
return;
}
for(int i=now;i<=top;i++){
swap((int *)(array[i]),(int *)(array[now]));
sort(array,now+1,top);
swap((int *)(array[i]),(int *)(array[now]));
}
}
递归实现全排列
最新推荐文章于 2023-01-30 23:47:13 发布