深度优先搜索

来源:互联网 发布:软件开发工作进度表 编辑:程序博客网 时间:2024/06/08 05:54

输入一个数n,然后将从1到n的数全排列输出

深度优先搜索,我觉得特别好用,这个代码也是从书上看的,《啊哈算法》,啊哈.磊著,真滴特别好。

#include<stdio.h>int a[110],book[110],n; void dfs(int step){if(step==n+1){for(int i=0;i<n;i++){printf("%d",a[i]);}printf("\n");}for(int i=0;i<n;i++){if(book[i]==0){a[i]=step;book[i]=1;dfs(step+1);book[i]=0;}}}int main(){scanf("%d",&n);dfs(1);return 0;} 


0 0