首页 热点资讯 义务教育 高等教育 出国留学 考研考公

图的遍历中 深度优先搜索 中有一NextAdjVex(G,v,w)函数 怎么写

发布网友 发布时间:2022-04-23 09:24

我来回答

1个回答

热心网友 时间:2023-10-09 11:10

int NextAdjVex(ALGraph G, VertexType v, VertexType w)
{ /* 初始条件:图G存在,v是G中某个顶点,w是v的邻接顶点 */
/* 操作结果:返回v的(相对于w的)下一个邻接顶点的序号。若w是v的最后一个邻接点,则返回-1 */
ArcNode* p, p1; /* p1在Point()中用作辅助指针,Point()在func2-1.c中 */
ElemType e;
int v1;
v1 = LocateVex(G, v); /* v1为顶点v在图G中的序号 */
e.adjvex = LocateVex(G, w); /* e.adjvex为顶点w在图G中的序号 */
p = Point(G.vertices[v1].firstarc, e, equalvex, &p1); /* p指向顶点v的链表中邻接顶点为w的结点 */
if (!p || !p->next) /* 没找到w或w是最后一个邻接点 */
return -1;
else /* p->data.adjvex==w */
return p->next->data.adjvex; /* 返回v的(相对于w的)下一个邻接顶点的序号 */
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com