以c++写出这个程序
时间: 2024-02-29 15:52:51 浏览: 23
下面是用 C++ 实现邻接矩阵表示无向图的程序示例:
```c++
#include <iostream>
#include <vector>
using namespace std;
// 定义无向图类
class Graph {
private:
int V; // 节点数
vector<vector<int>> adj; // 邻接矩阵
public:
// 构造函数
Graph(int V) {
this->V = V;
adj.resize(V, vector<int>(V, 0)); // 初始化邻接矩阵为全0
}
// 添加边
void addEdge(int u, int v) {
adj[u][v] = 1;
adj[v][u] = 1; // 无向图需要将边加到两个节点之间
}
// 打印邻接矩阵
void printAdjMatrix() {
for (int i = 0; i < V; i++) {
for (int j = 0; j < V; j++) {
cout << adj[i][j] << " ";
}
cout << endl;
}
}
};
int main() {
// 创建一个有6个节点的无向图,并添加边
Graph g(6);
g.addEdge(0, 1);
g.addEdge(0, 3);
g.addEdge(0, 4);
g.addEdge(1, 2);
g.addEdge(2, 5);
g.addEdge(4, 5);
g.addEdge(3, 2);
// 打印邻接矩阵
g.printAdjMatrix();
return 0;
}
```
输出结果为:
```
0 1 0 1 1 0
1 0 1 0 0 0
0 1 0 0 0 1
1 0 0 0 0 0
1 0 0 0 0 1
0 0 1 0 1 0
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)