你好,请用C++语言,帮我写一个邻接矩阵的代码
时间: 2024-05-12 18:17:42 浏览: 10
当然可以,以下是邻接矩阵的 C 语言代码:
```c
#include <stdio.h>
#define MAX_N 100
int graph[MAX_N][MAX_N]; // 邻接矩阵
int n; // 图中节点数量
// 添加一条从 u 到 v 的有向边,如果带有边权,可以在参数中添加第三个参数
void add_edge(int u, int v) {
graph[u][v] = 1;
}
// 输出邻接矩阵
void print_graph() {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", graph[i][j]);
}
printf("\n");
}
}
int main() {
// 初始化邻接矩阵
for (int i = 0; i < MAX_N; i++) {
for (int j = 0; j < MAX_N; j++) {
graph[i][j] = 0; // 初始时,没有边相连
}
}
// 添加一些边
n = 5; // 五个节点
add_edge(0, 1);
add_edge(0, 2);
add_edge(1, 2);
add_edge(1, 3);
add_edge(2, 3);
add_edge(3, 4);
// 输出邻接矩阵
print_graph();
return 0;
}
```
为了方便说明,上述代码会输出一个 5 个节点的无向图的邻接矩阵。在实际使用中,你需要根据实际问题进行修改。