其他分享
首页 > 其他分享> > 有向图的邻接表转逆邻接表

有向图的邻接表转逆邻接表

作者:互联网

思路:与无向图的邻接矩阵转邻接表相似

 1 void ALGraphToReverseGraph(ALGraph AL,ALGraph &RAL)
 2 {
 3     RAL.vexnum = AL.vexnum;
 4     RAL.arcnum = AL.arcnum;
 5     for (int i = 0; i < AL.vexnum; ++i) {
 6         RAL.vertices[i].data = AL.vertices[i].data;
 7         RAL.vertices[i].firstarc = nullptr;
 8     }
 9 
10     for (int i = 0; i < AL.vexnum; ++i) {
11         ArcNode *p = AL.vertices[i].firstarc;
12         while (p) {
13             ArcNode *arc = new ArcNode;
14             arc->adjvex = i;
15             arc->nextarc = RAL.vertices[p->adjvex].firstarc;
16             RAL.vertices[p->adjvex].firstarc = arc;
17             p = p->nextarc;
18         }
19     }
20 }

 

标签:vexnum,有向图,邻接,firstarc,RAL,vertices,AL,arc,表转
来源: https://www.cnblogs.com/jank/p/15642431.html