多语言展示
当前在线:302今日阅读:103今日分享:49

自考数据结构:[9]线性表之循环链表

循环链表是一种首尾相接的链表,无需增加存储量,仅对链表方式做修改,即可使得表的处理方式更加灵活。
方法/步骤
1

用头指针表单循环链表的原理    形成: 将单链表中的终端结点的指针域NULL改为指向表头结点或开始节点,就得到了单链表的循环链表。     弊端: 在用头指针表的单循环链表中,找开始节点a1的时间是O(1),然而要找到终端结点an,则需要从头指针开始遍历这个链表,时间是O(n)。

2

设rear指针的单循环链表(非空表)。

3

设rear指针的单循环链表(空表)

4

运算:        在链表上将(a1,a2..................................an)和(b1,b2,................................bn)连接成一个线性表。       合并示意图

5

将链表链接的 运算算法          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;//B表的头结点指向p              return B;                        }

6

优点:     循环链表从任一一个结点出发,都可以访问到表中的任何一个结点。这一优点使得在单循环链表的操作变得更加容易。

推荐信息