一个数n的全排列&&DFS

来源:互联网 发布:js特效代码酷炫 编辑:程序博客网 时间:2024/05/16 09:43
#include<iostream>#include<string.h>using namespace std;int a[10];bool visit[10];void dfs(int cur,int n){if(cur==n+1) return;//for(int i=n;i>0;--i)从大到小全排列  for(int i=1;i<=n;++i)//从小到大全排列 {if(!visit[i]){a[cur]=i;visit[i]=true;if(cur==n){for(int i=1;i<=cur;++i) cout<<a[i];     cout<<endl;}dfs(cur+1,n);visit[i]=false;}}}int main(){ int n; while(cin>>n) { memset(visit,false,sizeof(visit)); dfs(1,n); }return 0;}

原创粉丝点击