您的位置:首页 > 其它

DFS深度优先遍历

2015-06-03 16:09 323 查看
利用递归实现深度优先遍历图

#include<iostream>
using namespace std;
int  visit[5]={0};

typedef struct {
char vexs[5];
int AdjMatrix[5][5];
int vexnum;
}Graph;

Graph g={
{'a','b','c','d','e'},
{
0,1,0,1,0,
1,0,1,0,1,
0,1,0,1,1,
1,0,1,0,0,
0,1,1,0,0
} ,
5
};
int DFS(Graph *g,int i)
{
int j=0;
cout<<g->vexs[i]<<" ";
visit[i]=1;
for(j=0;j<g->vexnum;j++)
{
if((g->AdjMatrix[i][j]==1)&&(visit[j]==0))
DFS(g,j);
}
return 0;
}
int main()
{
DFS(&g,0);
//cout<<visit[3];
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: