用c语言写一个无向图邻接矩阵代码
时间: 2024-01-25 18:05:13 浏览: 35
以下是用 C 语言实现一个无向图邻接矩阵的代码:
```c
#include <stdio.h>
#define MAX_NODE 100
int graph[MAX_NODE][MAX_NODE]; // 邻接矩阵
int n; // 节点个数
void init() {
n = 0;
for (int i = 0; i < MAX_NODE; ++i) {
for (int j = 0; j < MAX_NODE; ++j) {
graph[i][j] = 0;
}
}
}
void addEdge(int u, int v) {
graph[u][v] = 1;
graph[v][u] = 1; // 无向图需要将两个方向的边都加上
}
void printGraph() {
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
printf("%d ", graph[i][j]);
}
printf("\n");
}
}
int main() {
init();
n = 5;
addEdge(0, 1);
addEdge(0, 4);
addEdge(1, 2);
addEdge(1, 3);
addEdge(1, 4);
addEdge(2, 3);
addEdge(3, 4);
printGraph();
return 0;
}
```
这个代码实现了一个简单的无向图,其中节点个数为 5,边的关系使用 addEdge 函数添加,最后使用 printGraph 函数打印出邻接矩阵。