【问题描述】
输出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
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/288899
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!