生成一个邻接矩阵的定义,代码用C语言实现,并附上注释
时间: 2023-03-28 22:01:31 浏览: 181
邻接矩阵是用于表示图的数据结构,其中矩阵的行和列分别代表图中的节点,矩阵中的元素表示节点之间的连接关系。如果节点 i 和节点 j 之间有连接,则邻接矩阵中第 i 行第 j 列的元素为 1,否则为 。
以下是用 C 语言实现邻接矩阵的代码:
```
#include <stdio.h>
#define MAX_NODES 100
int adj_matrix[MAX_NODES][MAX_NODES]; // 定义邻接矩阵
int num_nodes; // 图中节点的数量
// 初始化邻接矩阵
void init_adj_matrix() {
for (int i = ; i < num_nodes; i++) {
for (int j = ; j < num_nodes; j++) {
adj_matrix[i][j] = ; // 初始化为
}
}
}
// 添加边
void add_edge(int i, int j) {
adj_matrix[i][j] = 1;
adj_matrix[j][i] = 1; // 无向图需要同时添加两个方向的边
}
// 打印邻接矩阵
void print_adj_matrix() {
for (int i = ; i < num_nodes; i++) {
for (int j = ; j < num_nodes; j++) {
printf("%d ", adj_matrix[i][j]);
}
printf("\n");
}
}
int main() {
num_nodes = 5; // 假设有 5 个节点
init_adj_matrix();
add_edge(, 1);
add_edge(, 2);
add_edge(1, 2);
add_edge(2, 3);
add_edge(3, 4);
print_adj_matrix();
return ;
}
```
注释已经在代码中添加了,可以更好地理解代码的实现过程。
阅读全文