图的邻接表的实现带权路径
建立有向图的邻接表更简单,每当读人一个顶点对序号 时,仅需生成一个邻接序号为j的边表结点,将其插入到vj的出边表头部即可。 同时没个节点带权访问。 邻接表的形式说明 typedef struct node{//边表结点 int adjvex; //邻接点域 struct node *next; //链域 //若要表示边上的权,则应增加一个数据域 }EdgeNode; typedef struct vnode{ //顶点表结点 VertexType vertex; //顶点域 EdgeNode *firstedge;//边表头指针 }VertexNode; typedef VertexNode AdjList[MaxVertexNum];//AdjList是邻接表类型 typedef struct{ AdjList adjlist;//邻接表 int n,e; 图中当前顶点数和边数 }ALGraph; //对于简单的应用,无须定义此类型,可直接使用AdjList类型。 adjlist;//邻接表 int n,e; 图中当前顶点数和边数 }ALGraph; //对于简单的应用,无须定义此类型,可直接使用AdjList类型。
用户评论