DFS 的递归做法

来源:互联网 发布:软件项目经理培训 编辑:程序博客网 时间:2024/04/28 04:41
#include<iostream>//得到搜索路径using namespace std;#define N 9bool visit[N];void dfs(bool arr[N][N],int i){visit[i]=true;cout<<i<<' ';for(int j=0;j<N;++j){if(arr[i][j]==true && !visit[j]){dfs(arr,j);break;}}}int main(){bool arr[N][N]={{0,0,0,0,0,1,1,0,0},{1,0,0,0,0,0,0,1,0},{1,0,0,1,0,0,0,0,0},{0,0,1,0,0,1,0,0,0},{0,0,1,1,0,0,1,0,0},{0,0,0,0,1,0,0,0,0},{0,0,0,0,0,0,0,0,0},{0,1,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0}};memset(visit,0,sizeof(visit));for(int k=0;k<N;++k){if(!visit[k])dfs(arr,k);}cout<<endl;return 0;}

0 0
原创粉丝点击