7-1 邻接矩阵表示法创建无向图代码
时间: 2024-02-06 21:11:53 浏览: 91
代码 无向图关联矩阵和邻接矩阵的相互转换算法代码
以下是使用邻接矩阵表示法创建无向图的代码示例:
```c++
#include <iostream>
using namespace std;
const int MAXV = 100; // 最大顶点数
const int INF = 0x3f3f3f3f; // 无穷大
int G[MAXV][MAXV]; // 邻接矩阵
int n, m; // 顶点数和边数
void createGraph() {
cin >> n >> m; // 输入顶点数和边数
// 初始化邻接矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
G[i][j] = INF;
}
}
// 读入边的信息,建图
for (int i = 0; i < m; i++) {
int u, v, w;
cin >> u >> v >> w; // 读入一条边的起点、终点和权值
G[u][v] = w;
G[v][u] = w; // 无向图需要将两个方向都加上边权
}
}
int main() {
createGraph();
return 0;
}
```
在上面的代码中,我们使用二维数组 `G` 来表示邻接矩阵,其中 `G[i][j]` 表示顶点 `i` 到顶点 `j` 的边权值。由于是无向图,所以需要将两个方向都加上边权,即 `G[u][v] = w; G[v][u] = w;`。在读入边的信息后,我们需要遍历整个邻接矩阵,将未初始化的元素赋值为无穷大 `INF`,表示两个顶点之间没有边相连。
阅读全文