使用C++实现有向图的邻接矩阵
时间: 2023-09-03 07:11:00 浏览: 86
以下是使用C++实现有向图的邻接矩阵的示例代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
const int MAXN = 100;
int g[MAXN][MAXN]; // 邻接矩阵,g[i][j]表示从节点i到节点j是否有一条有向边
int main() {
int n, m; // n为节点数,m为边数
cin >> n >> m;
// 初始化邻接矩阵
memset(g, 0, sizeof(g));
// 读入边
for (int i = 0; i < m; i++) {
int u, v;
cin >> u >> v;
g[u][v] = 1; // 从节点u到节点v有一条有向边
}
// 输出邻接矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << g[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在上面的示例代码中,我们使用二维数组g来表示邻接矩阵。首先,我们读入节点数n和边数m,并将邻接矩阵g初始化为0。然后,我们读入m条边,对于每一条边(u,v),将g[u][v]设为1,表示从节点u到节点v有一条有向边。最后,我们输出邻接矩阵g。
阅读全文