void DFS(MGraph *graph){
int i, j;
// 初始化 访问标记数组
for(i = 0; i < MAX_VERTEX_NUM; i++){
vertexStatusArr[i] = 0;
}
printf("\n");
// 从每个点出发,, 递归深度遍历图的每个点
for(j = 0; j < graph->vexnum; j ++){
DFTcore(graph,j);
}
printf("\n");
}
void DFTcore(MGraph *graph, int x){
int i;
// 如果该点 已经被访问过,则结束
if(vertexStatusArr[x] == 1)
return;
printf("%c",graph->vexs[x]);
vertexStatusArr[x] = 1;
// 搜素与 该点 有边的 点 继续访问 。。。
for(i = 0; i < graph->vexnum; i ++){
if( graph->arcs[x][i].adj != 0)
DFTcore(graph,i);
}
return;
}