#include <iostream>
using namespace std;
/**
*递归打印全排列
*/
#define Swap(a,b){int temp = a; a=b; b=temp;}
int data[] = {1,2,3,4,5,6,7,8,9,10,32,15,18,33};
int num = 0; //统计全排列的个数
int Perm(int begin, int end){
int i;
if(begin == end)
{
for(int j=0; j<=end; j++){
cout<<data[j];
}
cout<<endl;
num++;
}else
for(i = begin; i <= end; i++){
Swap(data[begin], data[i]);
Perm(begin+1, end);
Swap(data[begin],data[i]);
}
}
int main()
{
Perm(0,3);
cout<<num<<endl;
return 0;
}
/*
1234
1243
1324
1342
1432
1423
2134
2143
2314
2341
2431
2413
3214
3241
3124
3142
3412
3421
4231
4213
4321
4312
4132
4123
24
*/
用递归求全排列
最新推荐文章于 2021-03-16 15:59:52 发布