有向图的十字链表
对于有向图来说,邻接表是有缺陷的,关心了出度问题,想了解入度就必须要遍历整个图才能知道,反之,逆邻接表解决了入度的情况。
把邻接表与逆邻接表结合起来,即有向图的一种存储方法十字链表(Orthogonal List)。
我们重新定义顶点表结构
firstin表示入边表头指针,指向该顶点的入边表中第一个结点;
firstout表示出边表头指针,指向该顶点的出边表中第一个结点;
重新定义了边表结点结构
其中
tailvex是指弧起点在顶点的下标,
headvex是指弧终点在顶点表中的下标,
headlink是指入边表指针域,指向终点相同的一下条边
taillink是指出边表指针域,指向起点相同的下一条边。
如果是网,还可以再增加一个weight域来存储权值。