满意答案
void DFS(ALGraph *G,int v) //邻接表存储的图和顶点编号,深度遍历递归算法
{
ArcNode *p; //弧结构指针
visited[v]=1; //记录当前访问的节点,表示此节点已访问过
printf("%d",v); //输出节点编号
p=G->adjlist[v].firstarc; //弧指针指向与该节点相邻的另一条弧
while(p!=NULL) //只要该节点还有弧没有访问完就循环
{
if(visited[p->adjvex]==0) //若该弧所指向的那个节点没有访问过
DFS(G,p->adjvex); //则以该弧指向的下一个节点为顶点深度遍历
p=p->nextarc; //否则指针转向另一条弧看是否有被访问过
}
}
00分享举报