图的数组表示法
组成
顶点数组vexs
邻接矩阵arcs
顶点数
图的类型
弧(数)
结构代码
typedef struct{
vertextype vexs[maxsize];
vrtype arc[maxsize][maxsize];
int vexnum,arcnum;
}Mgraph;
邻接表表示法
为图G的每一个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点v1的边
结构代码
typedef struct ArcNode{ //表结点类型定义,对网需要加权值属性
int adjvex; //顶点位置编号
struct ArcNode *next; //下一个表结点指针
infotype *info;
}ArcNode;
typedef struct VNode{ //头结点及其数组类型定义
Vertextype data; //顶点信息
ArcNode *firstarc; //指向第一条弧
}VNode ,AdjList[maxsize];
typedef struct { //邻接表的类型定义
AdjList vertices; //头结点数组
int vexnum,arcnum; //顶点数、弧数
}ALGraph;