#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include “ALGraph.h”
int visited[MAXVEX]; /设访问标志数组为全局变量/
void DFSTraverse(ALGraph g)/深度优先遍历以邻接表存储的图g/
{
int i;
for(i=0;i<g.vexnum;i++) /访问标志数组初始化/
visited[i]=0;
for(i=0;i<g.vexnum;i++)
if(!visited[i]) DFS(g,i); /对尚未访问的顶点调用DFS函数/
}
void DFS(ALGraph g, int i)/从未被访问的顶点Vi出发深度优先遍历图g/
{
// 请在这里补充代码,完成本关任务
/********** Begin *********/
ENode *p;
printf("%d ",g.vertices[i].vex);
visited[i]=1;
p=g.vertices[i].firstarc;
while(p)
{
if(!visited[p->adjvex])
DFS(g,p->adjvex);
p=p->nextarc;
}
/********** End **********/
}
void CreateUDG_ALG(ALGraph *g) /构造无向图的邻接表/
{
int i,j,k;ENode *p;
//printf("请输入图的类型(0-