用c++写出定义一有n个结点的的以邻接矩阵为存储方式的网(无向均可)
时间: 2023-11-28 20:48:10 浏览: 88
图基本操作的编程实现源码
以下是用C++定义一个有n个节点的邻接矩阵表示的无向网的代码:
```
#include<iostream>
#include<vector>
using namespace std;
const int MAXN = 100;
const int INF = 1e9; // 表示两个节点之间没有边的权值
int n, m; // n为节点个数,m为边数
int g[MAXN][MAXN]; // 邻接矩阵表示
int main(){
cin >> n >> m;
// 初始化邻接矩阵
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
g[i][j] = INF;
}
}
// 读入边的信息
for(int i = 0; i < m; i++){
int a, b, w;
cin >> a >> b >> w;
g[a][b] = g[b][a] = w;
}
return 0;
}
```
在上面的代码中,我们使用了二维数组`g`来表示邻接矩阵。其中,`g[i][j]`表示节点i和节点j之间的边的权值。如果`g[i][j]`的值为`INF`,则表示节点i和节点j之间没有边。当然,这里可以根据具体问题来确定`INF`的值,比如对于某些问题,`INF`可以定义为0或者-1等。
阅读全文