My Little World

单循环链表

循环链表

将单链表中终端结点的指针端由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表成为单循环链表,简称循环链表
singlelooplinklist1
循环链表并不一定要有头结点
与单链表的主要差异为判断链表是否为空
单链表为空条件为head->next = null
循环链表为空条件为head->next = head
终端节点用尾指针rear指示,查找终端结点是O(1);开始结点是rear->next->next,也是O(1);
[插入、删除、返回位置 代码思路参考单链表]
Rear == rear->next 空循环链表
singlelooplinklist2
小结
循环链表的特点是无须增加存储量,仅对链接方式稍作改变,即可使得表处理更加方便灵活