循环单链表
只要将单链表的最后一个指针域(空指针)指向链表中第一个结点即可(这里之所以说第一个结点而不说是头结点是因为,如果循环单链表是带头结点的则最后一个结点的指针域要指向头结点;如果循环单链表不带头结点,则最后一个指针域要指向开始结点)。
带头结点的循环单链表当head等于head->next时链表为空; 不带头结点的循环单链表当head等于null时链表为空。
双向循环链表
循环双链表的构造源自双链表,即将终端结点的nnext指针指向链表中第一个结点,将链表中第一个结点的prior指针指向终端结点。
带头结点的循环双链表当head->next和heaad->prior两个指针都等于head时链表为空。 不带头结点的循环双链表当head等于null的时候为空。