邻接矩阵存储结构类定义
时间: 2023-12-30 10:24:54 浏览: 62
C++邻接矩阵存储结构是一种常用的图的表示方法,它使用一个二维数组来表示图中各个顶点之间的关系。下面是一个C++邻接矩阵存储结构的类定义示例:
```cpp
const int MAX_SIZE = 100; // 图的最大顶点数
class AdjMatrixGraph {
private:
int vertexNum; // 图的顶点数
int edgeNum; // 图的边数
int adjMatrix[MAX_SIZE][MAX_SIZE]; // 邻接矩阵数组
public:
// 构造函数
AdjMatrixGraph(int vNum) {
vertexNum = vNum;
edgeNum = 0;
// 初始化邻接矩阵数组
for (int i = 0; i < vertexNum; i++) {
for (int j = 0; j < vertexNum; j++) {
adjMatrix[i][j] = 0;
}
}
}
// 添加边
void addEdge(int start, int end) {
if (start >= 0 && start < vertexNum && end >= 0 && end < vertexNum) {
adjMatrix[start][end] = 1;
adjMatrix[end][start] = 1;
edgeNum++;
}
}
// 删除边
void removeEdge(int start, int end) {
if (start >= 0 && start < vertexNum && end >= 0 && end < vertexNum) {
adjMatrix[start][end] = 0;
adjMatrix[end][start] = 0;
edgeNum--;
}
}
// 获取顶点数
int getVertexNum() {
return vertexNum;
}
// 获取边数
int getEdgeNum() {
return edgeNum;
}
// 获取邻接矩阵
int** getAdjMatrix() {
return adjMatrix;
}
};
```
上述代码定义了一个名为`AdjMatrixGraph`的类,它包含了图的顶点数、边数和邻接矩阵数组。类中提供了添加边、删除边、获取顶点数、获取边数和获取邻接矩阵的方法。
请注意,上述代码只是一个示例,你可以根据实际需求进行修改和扩展。