C++ 实现自然数 1~n 的全排列(无重复)
#include<bits/stdc++.h>
using namespace std;
int n,a[10],b[10];
void dfs(int x){
if(x==n+1){
for(int i=1;i<=n;i++){
cout<<a[i] <<' ';
}
cout<<endl; //每个排列后面要换行
return;
}
for(int i=1;i<=n;i++){
if(b[i]==0){
b[i]=1;
a[x]=i;
dfs(x+1);
b[i]=0;
a[x]=0;
}
}
}
int main(){
cin>>n;
dfs(1);
return 0;
}
原文地址: https://www.cveoy.top/t/topic/nSbz 著作权归作者所有。请勿转载和采集!