图的邻接矩阵的类型定义
时间: 2023-11-22 07:50:43 浏览: 31
图的邻接矩阵是一种常见的图的存储方式,它使用一个二维数组来表示图中各个顶点之间的关系。在邻接矩阵中,数组的行和列分别代表图中的顶点,而数组中的元素则表示相应顶点之间的边或权值。
以下是图的邻接矩阵的类型定义的示例代码:
```c++
#define MaxVertexNum 100 // 最大顶点数设为100
#define INFINITY 65535 // 用65535来代表∞
typedef int Vertex; // 用顶点下标表示顶点,为整型
typedef int WeightType; // 边的权值设为整型
typedef char DataType; // 顶点存储的数据类型设为字符型
/* 边的定义 */
typedef struct ENode *PtrToENode;
struct ENode {
Vertex V1, V2; // 有向边<V1, V2>
WeightType Weight; // 权重
};
typedef PtrToENode Edge;
/* 图结点的定义 */
typedef struct GNode *PtrToGNode;
struct GNode {
int Nv; // 顶点数
int Ne; // 边数
WeightType G[MaxVertexNum][MaxVertexNum]; // 邻接矩阵
DataType Data[MaxVertexNum]; // 存顶点的数据
};
typedef PtrToGNode MGraph; // 以邻接矩阵存储的图类型
```