C语言数据结构循环链表

在此之前先回忆一下单链表。
对于单链表,由于每个结点只存储了向后的指针,到了尾部标识就停止了向后链的操作。也就是说,按照这种方式,只能索引后继结点不能索引前驱结点。这样就带来了一个问题:
如果不从头结点出发,就无法访问到全部结点。
为此有一个解决办法:
只需要将单链表中终端结点的指针端由空指针改为指向头结点,问题就解决了!!
什么是循环列表?
将单链表中终端结点的指针端由空指针改为指向头结点,就使得整个单链表形成了一个环,这种头尾相接的单链表成为单循环链表,简称循环链表。
在这里插入图片描述
注意:
这里并不是说循环链表一定要有头结点。
其实循环链表的单链表的主要差异就在于循环的判断空链表的条件上,原来判断head->next是否为null,现在则是head->next是否等于head。
(代码真实令人头大!!!可能回头还得继续将它拿捏一下!!大家如果需要,可以去B站小甲鱼老师C语言数据结构——线性表12集仔细学习!)

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值