图的邻接表法的结构体代码
时间: 2023-07-13 21:35:29 浏览: 106
图的邻接表操作源代码
4星 · 用户满意度95%
以下是图的邻接表法的结构体代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAXVEX 100 // 最大顶点数
// 边表结点
typedef struct EdgeNode {
int adjvex; // 邻接点域,存储该顶点对应的下标
int weight; // 权值
struct EdgeNode *next; // 链域,指向下一个邻接点
} EdgeNode;
// 顶点表结点
typedef struct VertexNode {
char data; // 顶点域,存储顶点信息
EdgeNode *firstedge; // 边表头指针
} VertexNode, AdjList[MAXVEX];
// 图结构体
typedef struct {
AdjList adjList; // 邻接表
int numVertexes, numEdges; // 图中当前顶点数和边数
} GraphAdjList;
```
其中,`EdgeNode`表示边表结点,包含邻接点域、权值和链域等信息;`VertexNode`表示顶点表结点,包含顶点域和边表头指针等信息;`AdjList`表示邻接表,是一个顶点表结点的数组;`GraphAdjList`表示整个图的结构体,包含邻接表、当前顶点数和边数等信息。
阅读全文