#include"ALGraph.h"
int visited[MAX] = {0};
//邻接表的深度优先搜索遍历
void ALGraphDFS(ALGraph* G, int index)
{
ArcNode* p;
int w;
visited[index] = 1;//visited这个数组必须是全局数组,否则每次都被置为了1
printf("%s",G->vertex[index].data);
p = G->vertex[index].nextarc;
while (p != NULL)
{
w = p->index;
if (visited[w] == 0)
{
ALGraphDFS(G, w);
}
p = p->next;
}
}
int main(int argc, char* argv[])
{
ALGraph* G;
CreateALGraph(G);
PrintALGraph(G);
printf("邻接表的深度优先遍历顺序为:");
ALGraphDFS(G, 0);
printf("\n");
DestroyALGraph(G);
return 0;
}