#include<iostream>//得到搜索路径
using namespace std;
#define N 9
bool 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;
}
DFS 的递归做法
最新推荐文章于 2024-02-02 18:01:31 发布