使用c++写一段邻接矩阵表示法创建无向图的简单代码
时间: 2023-06-19 09:09:47 浏览: 126
下面是使用邻接矩阵表示法创建无向图的简单代码:
```c++
#include<iostream>
using namespace std;
#define MAXV 100 // 最大顶点数
int G[MAXV][MAXV]; // 存储邻接矩阵的数组
int V, E; // 顶点数和边数
void createGraph() {
cout << "请输入顶点数和边数(以空格分隔):" << endl;
cin >> V >> E;
// 初始化邻接矩阵
for (int i = 0; i < V; i++) {
for (int j = 0; j < V; j++) {
G[i][j] = 0;
}
}
// 读取每条边的信息,并在邻接矩阵中标记
cout << "请输入每条边的起点和终点(以空格分隔):" << endl;
for (int i = 0; i < E; i++) {
int u, v;
cin >> u >> v;
G[u][v] = G[v][u] = 1; // 标记邻接矩阵中的对应位置
}
}
int main() {
createGraph();
// 输出邻接矩阵
cout << "邻接矩阵:" << endl;
for (int i = 0; i < V; i++) {
for (int j = 0; j < V; j++) {
cout << G[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
以上代码中,我们使用二维数组 G 存储邻接矩阵,其中 G[i][j] 表示顶点 i 和 j 之间是否有边。在 createGraph() 函数中,我们先读取顶点数和边数,然后初始化邻接矩阵,最后读取每条边的信息并在邻接矩阵中标记。最后在主函数中输出邻接矩阵。
阅读全文