使用C++语言通过邻接矩阵的的的输入,输出无向图
时间: 2024-06-08 17:10:09 浏览: 6
可以通过以下代码实现:
```c++
#include <iostream>
using namespace std;
const int MAXN = 100; // 最大顶点数
int G[MAXN][MAXN]; // 邻接矩阵
int main() {
int n, m; // n: 顶点数,m: 边数
cin >> n >> m;
for (int i = 1; i <= m; i++) {
int 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;
}
```
其中,输入的第一行为顶点数n和边数m,接下来m行为每条边的起点和终点。输出为邻接矩阵,其中1表示有边相连,0表示无边相连。
相关问题
c++无向图邻接矩阵
在C++中,无向图(Undirected Graph)可以通过邻接矩阵(Adjacency Matrix)来表示。邻接矩阵是一个二维数组,其中的每个元素表示两个顶点之间是否存在边。如果顶点i和顶点j之间有边,矩阵中的[i][j]或[j][i](因为无向图是双向的)会有一个非零值,通常是1或其他非零标识;如果没有边,则对应位置的值为0。
邻接矩阵的主要优点是空间效率较高,适用于稠密图(边的数量接近于顶点数量的平方),查询任意两个顶点间是否有边的时间复杂度是O(1)。然而,对于稀疏图(边的数量远小于顶点数量的平方),邻接矩阵可能会浪费大量空间,因为大部分元素都是0。
邻接矩阵的实现步骤如下:
1. 定义一个二维数组,其大小为顶点数的平方,用于存储边的信息。
2. 初始化数组,例如使用整型数组并初始化为0,表示初始时没有边。
3. 当添加边时,更新对应位置的值。如果是无向图,需要同时更新[i][j]和[j][i]。
4. 查询边的存在时,只需检查[i][j]或[j][i]是否非零。
邻接矩阵c++存储有向图无向图加权图
邻接矩阵是一种常用的图的表示方法,可以用于存储有向图、无向图和加权图。在邻接矩阵中,矩阵的行和列分别表示图中的顶点,矩阵中的元素表示两个顶点之间是否存在边或者边的权重。
对于有向图,邻接矩阵的元素A[i][j]表示从顶点i到顶点j是否存在一条有向边。如果A[i][j]的值为1,则表示存在有向边;如果A[i][j]的值为0,则表示不存在有向边。
对于无向图,邻接矩阵是对称的,即A[i][j]的值与A[j][i]的值相等。如果A[i][j]的值为1,则表示顶点i与顶点j之间存在一条无向边;如果A[i][j]的值为0,则表示顶点i与顶点j之间不存在边。
对于加权图,邻接矩阵的元素A[i][j]可以表示边的权重。如果A[i][j]的值为0,则表示顶点i与顶点j之间不存在边;如果A[i][j]的值为非零正数,则表示顶点i与顶点j之间存在一条边,并且边的权重为A[i][j]的值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)