#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int n=3;
void print_permutation(int n,int* A,int ch){
if(n==ch){
for(int i=0;i<n;i++)
printf("%d",A[i]);
printf("\n");
}
else{
for(int i=1;i<=n;i++){
int ok=1;
for(int j=0;j<ch;j++){
if(A[j]==i)
ok=0;
}
if(ok){
A[ch]=i;
print_permutation(n,A,ch+1);
}
}
}
}
void STL_print_permutation(int n,int* A){
for(int i=1;i<=n;i++) A[i-1]=i;
do{
for(int i=0;i<n;i++) printf("%d",A[i]);
printf("\n");
}while(next_permutation(A,A+n));
return ;
}
int main(){
int a[10];
memset(a,0,sizeof(a));
printf("My_permutation:\n");
print_permutation(n,a,0);
printf("STL_permutation:\n");
STL_print_permutation(n,a);
return 0;
}
枚举排列
最新推荐文章于 2024-02-13 22:53:24 发布