全排列,回溯

来源:互联网 发布:阿里云ubuntu中文乱码 编辑:程序博客网 时间:2024/06/09 15:24
#include<stdio.h>


#define n 3


int a[n];
int vis[n+1];




void dfs(int cur){


if(cur == n){
int j;
for(j = 0 ; j < n ;j++){
printf("%d",a[j]);
}
printf("\n");

}
int i;
for(i = 1 ; i <= n ; i++){
if(vis[i] == 0){
a[cur] = i;
vis[i] = 1;
dfs(cur+1);
vis[i] = 0;
}
}



}




int main(){
dfs(0);

scanf("%d");
}
0 0