采用邻接矩阵创建无向网代码
时间: 2023-08-11 13:06:53 浏览: 116
代码 无向图关联矩阵和邻接矩阵的相互转换算法代码
以下是采用邻接矩阵创建无向网的示例代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
const int MAXN = 100; // 最大顶点数
const int INF = 0x3f3f3f3f; // 无穷大
int G[MAXN][MAXN]; // 邻接矩阵
int n, m; // n为顶点数,m为边数
void init() {
memset(G, INF, sizeof(G)); // 初始化为无穷大
}
void addEdge(int u, int v, int w) {
G[u][v] = G[v][u] = w; // 无向图,双向都要赋值
}
int main() {
cin >> n >> m;
init();
int u, v, w;
for (int i = 0; i < m; i++) {
cin >> u >> v >> w;
addEdge(u, v, w);
}
// 输出邻接矩阵
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (G[i][j] == INF) {
cout << "INF ";
} else {
cout << G[i][j] << " ";
}
}
cout << endl;
}
return 0;
}
```
在这个示例代码中,我们首先定义了一个`MAXN`常量表示最大顶点数,以及一个`INF`常量表示无穷大。然后定义了一个二维数组`G`来存储邻接矩阵,同时定义了`n`和`m`表示顶点数和边数。
`init()`函数用于将邻接矩阵中的所有元素初始化为无穷大。`addEdge()`函数用于在邻接矩阵中添加边,由于是无向图,所以需要在两个顶点之间都添加边。
在`main()`函数中,我们首先读入顶点数和边数,然后调用`init()`函数进行初始化。接下来,我们循环读入每一条边,并调用`addEdge()`函数将其添加到邻接矩阵中。最后,我们输出邻接矩阵中的所有元素,其中如果邻接矩阵中的元素为无穷大,则输出`INF`。
当然,这只是一个示例代码,实际上在实际应用中可能会根据具体情况进行修改。
阅读全文