2.3.4循环列表
循环单链表和单链表的区别在于,表中最后一个结点的指针不是NULL,而改为指向头结点,从而整个链表形成一个环。
注;在循环单链表中,表尾结点*r的next域指向L,故表中没有指针域为NULL的结点,因此,循环单链表的判空条件不是头结点的指针是否为空,而是它是否等于头指针。
循环单链表与普通单链表对比
让L指针指向尾部,在搜索表尾时,时间复杂度为O(1)
循环双链表(可以理解为prior结点形成一个闭环,next结点形成一个闭环)
判断一个循环双链表是否为空就是判断一个结点的下一个结点是不是本身。
这两段双链表的插入和删除操作代码只对循环双链表有效,对普通双链表在最后一个结点会有空指针的问题