注:邻接矩阵和邻接表是必须掌握的,十字链表法和邻接多重表法 没有那么重要。
十字链表法
 #define MaxVertexNum 100 //图中顶点数目的最大值
 typedef struct ArcNode{ //边表结点
 int tailvex, headvex; //该弧的头尾结点
 struct ArcNode2 *hlink, *tlink; //分别指向弧头相同和弧尾相同的结点
 //InfoType info; //相关信息指针
 } ArcNode;
 typedef struct VNode{ //顶点表结点
 VertexType data; //顶点信息
 ArcNode *firstin, *firstout; //指向第一条入弧和出弧
 } VNode;
 typedef struct {
 VNode xlist[MaxVertexNum]; //邻接表
 int vexnum, arcnum; //图的顶点数和弧数
 } GLGraph;
邻接多重表法
 #define MaxVertexNum 100 //图中顶点数目的最大值
 typedef struct ArcNode { //边表结点
 bool mark; //访问标记
 int ivex, jvex; //分别指向该弧的两个结点
 struct ArcNode3 *ilink, *jlink; //分别指向两个顶点的下一条边
 //InfoType info; //相关信息指针
 } ArcNode;
 typedef struct VNode { //顶点表结点
 VertexType data; //顶点信息
 ArcNode *firstedge; //指向第一条依附该顶点的边
 }VNode;
 typedef struct {
 VNode adjmulist[MaxVertexNum]; //邻接表
 int vexnum, arcnum; //图的顶点数和弧数
 } AMLGraph;










