一、递归实现全排列
1 #include"cstdio" 2 int A[50]; 3 void print_permutation(int n,int *A,int cur){ 4 if(cur==n){ 5 for(int i=0;i<n;i++) 6 printf("%d",A[i]); 7 printf("\n"); 8 } 9 else for(int j=1;j<n+1;j++){ 10 int ok=1; 11 for(int k=0;k<cur;k++) 12 if(A[k]==j) 13 ok=0; 14 if(ok){ 15 A[cur]=j; 16 print_permutation(n,A,cur+1); 17 } 18 } 19 } 20 int main(){ 21 int n; 22 scanf("%d",&n); 23 print_permutation(n,A,0); 24 return 0; 25 }