图的邻接矩阵存储C语言
时间: 2023-12-10 12:04:27 浏览: 85
以下是一个示例代码,用于将一个无向图的邻接矩阵存储在C语言中:
```c
#include <stdio.h>
#define MAX_VERTICES 100 // 最大顶点数
int adj_matrix[MAX_VERTICES][MAX_VERTICES]; // 邻接矩阵
int num_vertices; // 顶点数
int main() {
// 输入顶点数
printf("请输入顶点数:");
scanf("%d", &num_vertices);
// 输入邻接矩阵
printf("请输入邻接矩阵:\n");
for (int i = 0; i < num_vertices; i++) {
for (int j = 0; j < num_vertices; j++) {
scanf("%d", &adj_matrix[i][j]);
}
}
// 输出邻接矩阵
printf("邻接矩阵:\n");
for (int i = 0; i < num_vertices; i++) {
for (int j = 0; j < num_vertices; j++) {
printf("%d ", adj_matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个示例代码中,我们首先定义了一个大小为 `MAX_VERTICES x MAX_VERTICES` 的二维数组 `adj_matrix`,用于存储无向图的邻接矩阵。我们还定义了一个变量 `num_vertices`,表示图的顶点数。
在 `main` 函数中,我们首先读入了图的顶点数,然后读入了邻接矩阵。最后,我们输出了邻接矩阵。
注意,在这个示例代码中,我们假设输入的邻接矩阵是正确的,并没有做错误处理。在实际应用中,我们需要对输入进行错误处理,以避免程序崩溃。
阅读全文