c语言实现邻接矩阵
时间: 2023-07-13 22:12:30 浏览: 114
邻接矩阵是表示图的一种方式,C语言可以通过二维数组来实现邻接矩阵。假设我们有n个节点,那么可以定义一个n*n的二维数组A,其中A[i][j]表示节点i和节点j之间是否有边,如果有则为1,否则为0。以下是实现邻接矩阵的C语言代码:
```c
#include <stdio.h>
#define MAXN 100 // 最大节点数
int graph[MAXN][MAXN]; // 邻接矩阵
int main() {
int n, m; // n为节点数,m为边数
scanf("%d %d", &n, &m);
// 初始化邻接矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
graph[i][j] = 0; // 初始时没有边
}
}
// 读入边信息并更新邻接矩阵
for (int i = 0; i < m; i++) {
int u, v; // u和v之间有一条边
scanf("%d %d", &u, &v);
graph[u][v] = graph[v][u] = 1; // 无向图,所以要更新两个方向
}
// 输出邻接矩阵
printf("邻接矩阵:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", graph[i][j]);
}
printf("\n");
}
return 0;
}
```
这个代码可以读入节点数和边数,然后读入每条边的信息,最后输出邻接矩阵。
阅读全文