循环链表是一种首尾相接的链表,无需增加存储量,仅对链表方式做修改,即可使得表的处理方式更加灵活。
方法/步骤
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
优点: 循环链表从任一一个结点出发,都可以访问到表中的任何一个结点。这一优点使得在单循环链表的操作变得更加容易。
上一篇:线性表链表的插入与删除
下一篇:链表 java实现