【問題描述】 輸出1到n之間所有不重覆的排列,即1到n的全排,要求所產生的任一數列不含有重覆的數字. 【代碼展示】 #include<iostream>using namespace std;int a[100],b[100];void quanpai(int index,int n){ //遞歸邊 ...
【問題描述】
輸出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;
}