打印

循环链表(Circular Linked List)

[复制链接]
1107|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
6019赵文|  楼主 | 2011-3-4 14:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
link, rc, ST, nex, AN
循环链表是一种首尾相接的链表。

1、循环链表

(1)单循环链表——在单链表中,将终端结点的指针域NULL改为指向表头结点或开始结点即可。

(2)多重链的循环链表
——将表中结点链在多个环上。

                                                                                                  2、带头结点的单循环链表

                                                                                                

注意:
   
 判断空链表的条件是head==head->next;

3、仅设尾指针的单循环链表
     用尾指针rear表示的单循环链表对开始结点a1和终端结点an查找时间都是O(1)。而表的操作常常是在表的首尾位置上进行,因此,实用中多采用尾指针表示单循环链表。带尾指针的单循环链表可见下图。

                                                                                                  
注意:
     判断空链表的条件为rear==rear->next;

4、循环链表的特点
     循环链表的特点是无须增加存储量,仅对表的链接方式稍作改变,即可使得表处理更加方便灵活。
【例】在链表上实现将两个线性表(a1,a2,…,an)和(b1,b2,…,bm)连接成一个线性表(a1,…,an,b1,…bm)的运算。

     分析:若在单链表或头指针表示的单循环表上做这种链接操作,都需要遍历第一个链表,找到结点an,然后将结点b1链到an的后面,其执行时间是O(n)。若在尾指针表示的单循环链表上实现,则只需修改指针,无须遍历,其执行时间是O(1)。                                                                                                
   
 相应的算法如下:
      LinkList Connect(LinkList A,LinkList B)
       {//假设A,B为非空循环链表的尾指针
          LinkList p=A->next;//①保存A表的头结点位置
          A->next=B->next->next;//②B表的开始结点链接到A表尾
          free(B->next);//③释放B表的头结点
          B->next=p;//④
          return B;//返回新循环链表的尾指针
    }
注意:
     ①循环链表中没有NULL指针。涉及遍历操作时,其终止条件就不再是像非循环链表那样判别p或p->next是否为空,而是判别它们是否等于某一指定指针,如头指针或尾指针等。
    ②在单链表中,从一已知结点出发,只能访问到该结点及其后续结点,无法找到该结点之前的其它结点。而在单循环链表中,从任一结点出发都可访问到表中所有结点,这一优点使某些运算在单循环链表上易于实现。

相关帖子

沙发
易达口香糖| | 2011-3-5 08:58 | 只看该作者
本科的时候学过,现在都忘了。

使用特权

评论回复
板凳
思行合一| | 2011-3-9 18:12 | 只看该作者
这个在数据搬移的时候经常用到

使用特权

评论回复
地板
信号链杂谈| | 2011-3-15 16:15 | 只看该作者
3、仅设尾指针的单循环链表
     用尾指针rear表示的单循环链表对开始结点a1和终端结点an查找时间都是O(1)。而表的操作常常是在表的首尾位置上进行,因此,实用中多采用尾指针表示单循环链表。带尾指针的单循环链表可见下图。

使用特权

评论回复
5
信号链杂谈| | 2011-3-15 16:15 | 只看该作者
这个在数据搬移的时候经常用到

使用特权

评论回复
6
信号链杂谈| | 2011-3-15 16:15 | 只看该作者
好东西

使用特权

评论回复
7
信号链杂谈| | 2011-3-15 16:15 | 只看该作者
受教

使用特权

评论回复
8
信号链杂谈| | 2011-3-15 16:16 | 只看该作者
:lol

使用特权

评论回复
9
huzixian| | 2011-3-23 22:40 | 只看该作者
好东西,谢分享

使用特权

评论回复
10
黑发尤物| | 2011-3-24 20:11 | 只看该作者
不错的资料,收下了

使用特权

评论回复
11
即时生效| | 2011-3-28 20:18 | 只看该作者
学习了啊!

使用特权

评论回复
12
黑发尤物| | 2011-3-30 20:04 | 只看该作者
很好的资料,收藏了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

350

主题

1515

帖子

1

粉丝