10.0、C语言数据结构——循环链表

10.0、C语言数据结构——循环链表

        对于单链表,由于每个结点只存储了向后的指针,到了尾部表示就停止了像后链的操作;也就是说,按照这样的方式,只能索引后继结点不能索引前驱结点;

这会带来什么问题呢?

        1. 例如不从头结点触发,就无法访问到全部结点;
        2. 事实上要解决这个问题也并不麻烦,只需要将单链表中终端结点的指针由空指针改为指向头结点,问题就解决了;
        3. 将链表中终端结点的指针由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表成为单循环链表,简称循环链表;

注:这里并不是说循环链表一定要有头结点;

        - 其实循环链表的单链表的主要差异就在于循环的判断空链表的条件上,原来判断 head -> next 是否为 null ,现在则是 head -> next 是否等于head;
      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值