1.3 循环链表

在前一节中,我们介绍了双向链表。循环链表的实现域双向链表类似,链表的最后一个节点的next域储存第一个节点的地址,链表的第一个节点的front域储存最后一个节点的地址。
在双向链表中,不使用头节点可能是一个更好的选择。
为了防止遍历链表时出现死循环,我们用指针变量f与r。f恒指向链表的第一个节点,r恒指向链表的最后一个节点。
我们将基本数据类型定义如下:

就自然语言描述来说,循环链表的实现其实不难。但是当我们用C语言进行编程时,我们很容易被到处乱飞的指针给弄迷糊,从而造成难以发现的错误。
完整代码传送门:https://github.com/benzenelab/Data-structures-in-C/blob/main/1.3 循环链表.c

posted @ 2020-11-12 14:29  BZ_Lab  阅读(142)  评论(0)    收藏  举报