用c语言实现如下功能:用邻接矩阵创建无向网,无向网的三个顶点分别为北门、南门、信息楼,共用三条边,北门和南门之间边的权值为1,北门和信息楼之间边的权值为2,南门和信息楼之间边的权值为3,输出这个无向网
时间: 2023-11-28 09:50:29 浏览: 145
以下是用 C 语言实现邻接矩阵创建无向网的代码,包括三个顶点和三条边的权值:
```c
#include <stdio.h>
#define MAX_VERTEX_NUM 3
typedef struct {
int edges[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; // 邻接矩阵
int vexnum; // 顶点数
} MGraph;
int main() {
MGraph G;
G.vexnum = 3;
// 初始化邻接矩阵,边的权值为0表示不连通
for (int i = 0; i < G.vexnum; i++) {
for (int j = 0; j < G.vexnum; j++) {
G.edges[i][j] = 0;
}
}
// 添加边,无向图的邻接矩阵是对称矩阵
G.edges[0][1] = 1; // 北门和南门之间边的权值为1
G.edges[1][0] = 1;
G.edges[0][2] = 2; // 北门和信息楼之间边的权值为2
G.edges[2][0] = 2;
G.edges[1][2] = 3; // 南门和信息楼之间边的权值为3
G.edges[2][1] = 3;
// 输出邻接矩阵
printf("无向网的邻接矩阵:\n");
for (int i = 0; i < G.vexnum; i++) {
for (int j = 0; j < G.vexnum; j++) {
printf("%d ", G.edges[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果:
```
无向网的邻接矩阵:
0 1 2
1 0 3
2 3 0
```
阅读全文