用C语言代码实现图的建立
时间: 2023-06-16 09:05:27 浏览: 128
图的创建 C语言实现
5星 · 资源好评率100%
如果你想用 C 语言来建立图的话,需要使用图的存储结构。
常见的存储结构有邻接矩阵和邻接表。
邻接矩阵是用一个二维数组来存储图的结构的方法。例如,对于一张有 5 个结点的无向图,可以使用如下的代码来存储:
```
#define MaxSize 100
typedef char VertexType;
typedef int EdgeType;
typedef struct {
VertexType vexs[MaxSize]; // 存储图中结点的数组
EdgeType edges[MaxSize][MaxSize]; // 存储图的边的数组
int n, e; // 分别表示图中结点和边的个数
} MGraph;
```
邻接表是另一种常见的图的存储结构。它使用一个链表的数组来存储图的结构。例如,对于一张有 5 个结点的无向图,可以使用如下的代码来存储:
```
#define MaxSize 100
typedef char VertexType;
typedef int EdgeType;
typedef struct EdgeNode // 边表节点
{
int adjvex; // 存储该边所指向的结点的下标
EdgeType weight; // 存储权值(如果是无权图则没有意义)
struct EdgeNode *next; // 指向下一个边表节点的指针
} EdgeNode;
typedef struct VertexNode // 结点表节点
{
VertexType data; // 存储结点信息
EdgeNode *firstedge; // 指向第一个边表节点的指针
} VertexNode, Ad
阅读全文