c++创建有向图,领接矩阵方法
时间: 2023-12-03 10:05:50 浏览: 35
要创建一个有向图并使用邻接矩阵表示,需要以下几个步骤:
1. 定义图的大小:图的大小指的是图中节点的数量。您可以使用一个整数n来表示。
2. 创建邻接矩阵:邻接矩阵是一个n x n的矩阵,其中每个元素代表节点间的连通性。如果节点i到节点j有一条有向边,则矩阵中第i行第j列的元素为1。否则,该元素为0。
3. 初始化邻接矩阵:将邻接矩阵中所有元素初始化为0。
4. 添加边:对于每个有向边(i, j),将邻接矩阵中第i行第j列的元素设置为1。
下面是一个使用C++实现邻接矩阵的有向图的示例代码:
```c++
#include <iostream>
using namespace std;
const int MAXN = 100; // 定义图的最大节点数
int n; // 图的节点数量
int graph[MAXN][MAXN]; // 邻接矩阵
int main() {
// 输入节点数量
cout << "请输入节点数量:";
cin >> n;
// 初始化邻接矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
graph[i][j] = 0;
}
}
// 添加边
int m; // 边的数量
cout << "请输入边的数量:";
cin >> m;
cout << "请输入每条边的起点和终点(用空格分隔):" << endl;
for (int i = 0; i < m; i++) {
int u, v; // 边的起点和终点
cin >> u >> v;
graph[u][v] = 1;
}
// 输出邻接矩阵
cout << "邻接矩阵为:" << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << graph[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
这段代码可以让用户输入节点数量和边的数量,并根据用户输入构建有向图的邻接矩阵,并将其输出到屏幕上。