图的邻接矩阵存储(数组表示)、简单输出代码
时间: 2024-01-22 09:01:57 浏览: 22
好的,下面是图的邻接矩阵存储和简单输出代码:
```
#include <iostream>
#include <vector>
using namespace std;
const int MAXN = 100; // 最大顶点数
int G[MAXN][MAXN]; // 邻接矩阵数组
int n, m; // n:顶点数,m:边数
int main() {
cin >> n >> m; // 输入顶点数和边数
int u, v;
for (int i = 0; i < m; i++) { // 输入每条边的两个端点
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;
}
```
以上代码实现了一个简单的图的邻接矩阵存储和输出。其中,输入包括顶点数和边数,以及每条边的两个端点。输出则是一个 $n \times n$ 的邻接矩阵,矩阵中每个元素代表该点与另一个点是否有连边(1 代表有连边,0 代表无连边)。注意,由于是无向图,因此邻接矩阵是对称的,即 $G[i][j] = G[j][i]$。