如何用c语言建立无向图的邻接矩阵
时间: 2023-12-10 09:05:27 浏览: 89
建立无向图的邻接矩阵可以通过二维数组来实现。假设无向图有n个顶点,那么它的邻接矩阵就是一个n×n的矩阵。如果顶点i和顶点j之间存在边,则邻接矩阵中第i行第j列和第j行第i列都为1,否则都为0。
下面是一个简单的示例代码:
```c
#include <stdio.h>
#define MAX_N 100 // 最大顶点数
int graph[MAX_N][MAX_N]; // 邻接矩阵
int main()
{
int n, m; // n为顶点数,m为边数
scanf("%d%d", &n, &m);
for (int i = 0; i < m; i++) {
int u, v; // 边的两个端点
scanf("%d%d", &u, &v);
graph[u][v] = graph[v][u] = 1; // 无向图的邻接矩阵
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
printf("%d ", graph[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个示例代码中,我们首先定义了一个二维数组graph来表示邻接矩阵。接着输入顶点数n和边数m,然后再依次输入每条边的两个端点,将邻接矩阵中对应的位置置为1。最后,我们输出邻接矩阵的每个元素,以验证是否正确建立了无向图的邻接矩阵。
阅读全文