用领接矩阵表示无向图c++
时间: 2024-05-03 11:17:11 浏览: 16
可以使用邻接矩阵来表示无向图。邻接矩阵是一个二维数组,其中第 i 行和第 j 列的元素表示第 i 个节点和第 j 个节点之间是否有边相连。如果相连,则为 1;否则为 0。
以下是一个示例代码,展示如何使用邻接矩阵来表示无向图:
```c++
#include <iostream>
using namespace std;
const int MAXN = 100;
int G[MAXN][MAXN]; // 邻接矩阵表示图
int n, m; // n 表示节点数,m 表示边数
int main() {
cin >> n >> m;
// 初始化邻接矩阵
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
G[i][j] = 0;
}
}
// 读入边的信息
for (int i = 1; i <= m; i++) {
int x, y;
cin >> x >> y;
G[x][y] = G[y][x] = 1; // 无向图,所以要将两个方向都标记为有边
}
// 输出邻接矩阵
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cout << G[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在读入节点数和边数后,我们可以先将邻接矩阵中的所有元素初始化为 0,再读入边的信息,将对应的邻接矩阵元素标记为 1。最后输出邻接矩阵即可。