用C++创建一个无向图邻接矩阵
时间: 2023-06-27 08:03:00 浏览: 114
以下是使用C++创建一个无向图邻接矩阵的示例代码:
```c++
#include <iostream>
using namespace std;
int main() {
int n; // 图中节点的数量
cout << "请输入图中节点的数量: ";
cin >> n;
int graph[n][n]; // 创建邻接矩阵
// 初始化邻接矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
graph[i][j] = 0;
}
}
// 添加边
int u, v; // 边的两个节点
char c; // 是否继续添加边
do {
cout << "请输入边的两个节点: ";
cin >> u >> v;
graph[u][v] = 1; // 添加一条从 u 到 v 的边
graph[v][u] = 1; // 添加一条从 v 到 u 的边
cout << "是否继续添加边?(y/n)";
cin >> c;
} while (c == 'y' || c == 'Y');
// 输出邻接矩阵
cout << "邻接矩阵:" << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << graph[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
该程序首先要求用户输入图中节点的数量,然后创建一个邻接矩阵。然后用户可以输入边的两个节点,程序将在邻接矩阵中添加相应的边,并询问用户是否要继续添加边。最后,程序将输出邻接矩阵。需要注意的是,由于这是一个无向图,因此添加一条从 u 到 v 的边同时也要添加一条从 v 到 u 的边。
阅读全文