邻接矩阵c语言实现代码
时间: 2023-10-18 18:11:53 浏览: 108
c语言邻接矩阵
下面是邻接矩阵的 C 语言实现代码:
```c
#include <stdio.h>
#define MAX_VERTICES 100 // 最大顶点数
int adj_mat[MAX_VERTICES][MAX_VERTICES]; // 邻接矩阵
int main() {
int V, E; // V 为顶点数,E 为边数
scanf("%d %d", &V, &E);
// 初始化邻接矩阵
for (int i = 0; i < V; i++) {
for (int j = 0; j < V; j++) {
adj_mat[i][j] = 0;
}
}
// 读入边的信息,更新邻接矩阵
for (int i = 0; i < E; i++) {
int u, v;
scanf("%d %d", &u, &v);
adj_mat[u][v] = 1;
adj_mat[v][u] = 1; // 若为无向图,需要更新两个位置
}
// 输出邻接矩阵
for (int i = 0; i < V; i++) {
for (int j = 0; j < V; j++) {
printf("%d ", adj_mat[i][j]);
}
printf("\n");
}
return 0;
}
```
上述代码实现了邻接矩阵的建立和输出,读入格式为:
```
顶点数 边数
u1 v1
u2 v2
...
```
其中 `u` 和 `v` 为边的两个端点。这里默认采用无向图,若为有向图则只需在读入时更新一个位置即可。
阅读全文