
一、循环单链表
定义:

循环单链表代码实现
创建并初始化、判断循环单链表是否为空、判断结点p是否为循环单链表的表尾结点的代码操作。



二、循环双链表
定义:

循环双链表代码实现
创建并初始化、判断循环双链表是否为空、判断结点p是否为循环双链表的表尾结点的代码操作。

普通双链表和循环双链表插入的区别:
普通双链表用以下代码实现插入的时候,如果插入的结点是最后一个结点,则会出错,因为最后一个结点的后驱是空,没有前项指针。但是循环双链表则适用这种插入方式。

循环双链表的删除:
同上述普通双链表和循环双链表的插入操作中的错误一样。下列代码在循环双链表当中是可以适用的。

总结:
