【问题描述】
输出1到n之间所有不重复的排列,即1到n的全排,要求所产生的任一数列不含有重复的数字.
【代码展示】
#include<iostream>
using namespace std;
int a[100],b[100];
void quanpai(int index,int n){
//递归边界
if(index==n+1){
for(int i=1;i<=n;i++){
cout << a[i];
}
cout << endl;
return;
}
//向数组添加数据(123->132)
for(int i=1;i<=n;i++){
if(b[i]==0){
a[index]=i;
b[i]=1;
quanpai(index+1,n);
b[i]=0;
}
}
}
int main(){
int n;
cin >> n;
quanpai(1,n);
return 0;
}
原文:https://www.cnblogs.com/dongks/p/10306673.html