2.7 环链表★3◎4
2.7 循环链表★3◎4
在单链表中,最后一个结点的指针域取值为空,如果将这个域赋值为指向头结点或第一个结点的指针,那么该单链表就成了循环单链表,如图2-12所示。
同样地,将双向链表尾结点next赋值为首结点(或头结点)的地址,将首结点(或头结点)的prev赋值为尾结点的地址,双向链表就成了循环双向链表,如图2-13所示。
在非循环链表中,遍历的结束条件是指针为空,而在循环链表中,遍历的结束条件是指针与头指针(或者头结点地址)相等。
循环链表的特点:
(1)最后一个结点的指针域指向第一个结点(或头结点)。
(2)从链表中的任意一个结点出发,都能遍历链表中的所有结点。
2.7 环链表★3◎4