C++采用邻接矩阵表示法创建无向图
时间: 2024-12-01 14:12:38 浏览: 12
C++实现有向图的邻接表表示
5星 · 资源好评率100%
在C++中,邻接矩阵是一种常用的表示无向图的数据结构。它是一个二维数组,其中行和列对应图中的顶点,矩阵的元素值通常有三种情况:
1. 如果图中不存在边连接两个顶点,则对应的矩阵元素为0;
2. 如果存在一条从顶点i到顶点j的边,则矩阵[i][j]等于1(对于无权图)或存储边的权重(对于带权重的图);
3. 对于自环,即顶点i指向自身,通常设置为1或特殊的值,如无穷大。
创建无向图邻接矩阵的过程如下:
```cpp
#include <vector>
// 定义邻接矩阵的大小(假设是VxV)
std::vector<std::vector<int>> adjMatrix(V, std::vector<int>(V, 0)); // V代表顶点数
// 添加边
void addEdge(int src, int dest) {
adjMatrix[src][dest] = 1; // 或者存储权重
adjMatrix[dest][src] = 1; // 因为无向图需要双向连接
}
// 访问某个顶点的所有邻居
std::vector<int> getNeighbors(int vertex) {
return adjMatrix[vertex];
}
```
阅读全文