图的邻接表存储
以下图中的图作为例子:
将图存储到邻接表的过程要用到两种类似的数据结构:头结点和边结点。
头结点对应着图的一个顶点,它保存着该顶点的数据信息,并且指向一个边结点。
typedef stuct VNode {
char data;//顶点的数据信息
ArcNode* firstarc;//指向一个边结点
} VNode;
边结点是这样一种数据结构:它往往对应着图中的一条边,记录一条边的相关信息。它记录着该边指向顶点的编号,同时有着指向另一个边顶点的指针。
typedef struct ArcNode {
int vnodeNum;//该边所指向的顶点的编号
ARCNode* nextarc;//指向另一个边结点的指针
} ArcNode;