编写程序实现带权图的邻接矩阵存储,输出邻接矩阵。输入第一行为结点个数(节点编号从0开始),第二行开始为边的信息(节点编号,节点编号,权重),输出邻接矩阵。C代码实现
时间: 2023-12-21 12:52:43 浏览: 29
以下是C语言实现带权图的邻接矩阵存储的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_NODE_NUM 100
int graph[MAX_NODE_NUM][MAX_NODE_NUM]; //邻接矩阵
int node_num; //节点个数
void init_graph() {
int i, j;
for (i = 0; i < MAX_NODE_NUM; i++) {
for (j = 0; j < MAX_NODE_NUM; j++) {
graph[i][j] = -1; //初始化为-1,表示不相邻
}
}
}
void add_edge(int node1, int node2, int weight) {
graph[node1][node2] = weight;
graph[node2][node1] = weight; //因为是无向图,所以需要两个方向都添加
}
void print_graph() {
int i, j;
printf("邻接矩阵:\n");
for (i = 0; i < node_num; i++) {
for (j = 0; j < node_num; j++) {
printf("%2d ", graph[i][j]);
}
printf("\n");
}
}
int main() {
int i, node1, node2, weight;
printf("请输入节点个数:");
scanf("%d", &node_num);
init_graph();
printf("请输入边的信息(节点编号1,节点编号2,权重):\n");
for (i = 0; i < node_num*(node_num-1)/2; i++) { //因为是无向图,所以边的个数为节点个数的组合数
scanf("%d %d %d", &node1, &node2, &weight);
add_edge(node1, node2, weight);
}
print_graph();
return 0;
}
```
输入样例:
```
请输入节点个数:5
请输入边的信息(节点编号1,节点编号2,权重):
0 1 2
0 2 3
0 3 4
1 2 5
1 4 6
2 3 7
3 4 8
```
输出样例:
```
邻接矩阵:
-1 2 3 4 -1
2 -1 5 -1 6
3 5 -1 7 -1
4 -1 7 -1 8
-1 6 -1 8 -1
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)