无向图邻接矩阵建立并输出
时间: 2023-10-18 07:04:46 浏览: 85
邻接矩阵是一种表示图形的方法,其中矩阵中的每个元素都表示两个节点之间是否存在边。如果边存在,则该元素的值为1,否则为0。以下是一个无向图邻接矩阵的建立和输出的示例代码:
```c++
#include <iostream>
using namespace std;
const int MAXN = 100;
int main() {
int n, m;
int G[MAXN][MAXN]; // 邻接矩阵
cin >> n >> m; // n为节点数,m为边数
// 初始化邻接矩阵
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
G[i][j] = 0;
}
}
// 建立邻接矩阵
for (int i = 0; i < m; i++) {
int u, v; // u和v分别为边的两个节点
cin >> u >> v;
G[u][v] = G[v][u] = 1; // 由于是无向图,所以要在两个相邻节点之间建立双向边
}
// 输出邻接矩阵
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cout << G[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输入示例:
```
5 6
1 2
1 3
2 4
2 5
3 4
4 5
```
输出示例:
```
0 1 1 0 0
1 0 0 1 1
1 0 0 1 0
0 1 1 0 1
0 1 0 1 0
```
以上代码可以处理最多100个节点的无向图,如果需要处理更大的图,请将MAXN值适当调大。
阅读全文