紫书学习递归之全排列

#include<iostream>
using namespace std;
#define ll long long
void print_permutation(int n,int* A,int cur){
    if(cur==n){
        for(int i=0;i<n;i++)
        cout<<A[i]<<' ';
        cout<<endl;
    }
    else for(int i=1;i<=n;i++){
        int ok=1;
        for(int j=0;j<cur;j++)
        if(A[j]==i) ok=0;
        if(ok){
            A[cur]=i;
            print_permutation(n,A,cur+1);
        }
    }
}
int main(){
    int a[10];
    int n;
    while(cin>>n){
        print_permutation(n,a,0);
    }
    
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/mch5201314/p/9474710.html
今日推荐