构造无向图的邻接矩阵c语言代码
时间: 2023-07-28 10:07:00 浏览: 100
以下是构造无向图邻接矩阵的 C 语言代码示例:
```c
#include <stdio.h>
#define MAX_VERTICES 100
int main() {
int num_vertices; // 顶点数量
int adj_matrix[MAX_VERTICES][MAX_VERTICES]; // 邻接矩阵
int i, j;
// 输入顶点数量
printf("Enter the number of vertices: ");
scanf("%d", &num_vertices);
// 初始化邻接矩阵
for (i = 0; i < num_vertices; i++) {
for (j = 0; j < num_vertices; j++) {
adj_matrix[i][j] = 0; // 初始化为 0
}
}
// 输入边信息并更新邻接矩阵
int num_edges;
printf("Enter the number of edges: ");
scanf("%d", &num_edges);
for (i = 0; i < num_edges; i++) {
int u, v;
printf("Enter edge %d (u v): ", i + 1);
scanf("%d %d", &u, &v);
adj_matrix[u][v] = 1;
adj_matrix[v][u] = 1; // 无向图需更新对称位置
}
// 输出邻接矩阵
printf("Adjacency Matrix:\n");
for (i = 0; i < num_vertices; i++) {
for (j = 0; j < num_vertices; j++) {
printf("%d ", adj_matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
该程序首先输入顶点数量和边数量,然后根据输入的边信息更新邻接矩阵,并最终输出邻接矩阵。
阅读全文