可以用C语言创建邻接表吗?
时间: 2023-06-24 11:03:54 浏览: 82
邻接表建立(C语言)
5星 · 资源好评率100%
当然可以!邻接表是一种图的表示方法,用于描述图中各个节点之间的连接关系。在C语言中,我们可以使用链表来实现邻接表。
具体来说,我们可以定义一个结构体来表示图中的每个节点,如下所示:
```
struct node {
int vertex; // 节点编号
struct node* next; // 指向下一个节点的指针
};
```
然后,我们可以使用一个数组来存储图中的所有节点,如下所示:
```
struct node* graph[V]; // V 表示图中节点的数量
```
其中,graph[i] 表示与节点 i 相邻的所有节点。我们可以使用链表来存储这些相邻节点,如下所示:
```
graph[i] = NULL; // 初始化为空链表
// 添加一个相邻节点 j
struct node* new_node = (struct node*) malloc(sizeof(struct node));
new_node->vertex = j;
new_node->next = graph[i];
graph[i] = new_node;
```
这样,我们就可以使用链表来实现邻接表了。注意,在使用完链表后,需要释放内存,以避免内存泄漏。
阅读全文