循环链表 循环链表(Circular Linked List):是一种头尾相接的链表。其特点是最后一个结点的指针域指向链表的头结点,整个链表的指针域链接成一个环。
从循环链表的任意一个结点出发都可以找到链表中的其它结点,使得表处理更加方便灵活。
循环链表的操作
对于单循环链表,除链表的合并外,其它的操作和单线性链表基本上一致,仅仅需要在单线性链表操作算法基础上作以下简单修改:...
分类:
其他好文 时间:
2015-04-28 18:25:44
阅读次数:
139
问题描述:编号为1,2… n 的n 个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1 开始顺序报数,报到m 时停止报数,报m 的人出列,将他的密码作为新的m 值,从他的顺时针方向上的下一个开始重新从1 报数,如此下去,直至所有人全部出列为止,设计一个程序求出出列顺序。
基本功能要求:
1)利用单循环链表作为存储结构模...
分类:
其他好文 时间:
2015-04-23 00:04:39
阅读次数:
184
如果在单链表或头指针表示的链表上操作这个比较消耗性能,因为都需要遍历第一个链表,找到an,然后将b1链接到an的后面,时间复杂度是:O(n)。若在尾指针表示的单循环链表上实现,则只需改变指针,无需遍历,时间复杂度是:O(1)
现在看算法实现,需要4个主要步骤,都注释了:
LinkList Connect(LinkList A,LinkList B){
//假设A,B为非空循环链表的尾指针...
分类:
其他好文 时间:
2014-06-29 22:33:08
阅读次数:
319
有的时候,处于内存中的数据并不是连续的。那么这时候,我们就需要在数据结构中添加一个属性,这个属性会记录下面一个数据的地址。有了这个地址之后,所有的数据就像一条链子一样串起来了,那么这个地址属性就起到了穿线连结的作用。
链表有:单链表,双链表,单循环链表,双循环链表。
理解单链表,其他几种也就大同小异。
相比较普通的线性结构,链表结构的优势是什么呢?我们可以总结一下:
(1)...
分类:
编程语言 时间:
2014-05-15 05:48:01
阅读次数:
266