2-5 线性表之循环链表

 更多系列博文请点击:0-数据结构与算法链接目录 

2-5 线性表之循环链表

循环链表就是链表首尾相接连成一个环,可以用单链表 和 循环链表来实现。

下面分别来看两种情况:

1、使用单链表构建循环链表

为了方便,我这里使用带头结点的单链表来构建循环链表,至于单链表带不带头结点的异同,我在前面的线性表之链表那篇文章中已经做过分析,就不再赘述。

单向循环链表是指在单链表的基础上,表的最后一个元素指向链表头结点,不再是为空。

所以判断是否是最后一个元素 的条件 也从 p->next != null; 变成了 p->next != head;

由于这个判断 条件的变化,相比于原来的单链表的程序,就会在有一些地方有所变化

 

2.使用双向链表 构建 循环链表

 

 

 

双向链表的程序我在前一篇也写过,所以这里也不再赘述了

也是把最后一个元素的判断条件改为:P->next != h;

然后如果是在队尾插入或删除元素,就需要改变头指针的prior,

 

程序就都不写了,改动并不大,知道是什么意思即可

 更多系列博文请点击:0-数据结构与算法链接目录 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值