2.7 环链表★3◎4

2.7 环链表★3◎4

2.7 循环链表★3◎4

  在单链表中,最后一个结点的指针域取值为空,如果将这个域赋值为指向头结点或第一个结点的指针,那么该单链表就成了循环单链表,如图2-12所示。

  同样地,将双向链表尾结点next赋值为首结点(或头结点)的地址,将首结点(或头结点)的prev赋值为尾结点的地址,双向链表就成了循环双向链表,如图2-13所示。

  在非循环链表中,遍历的结束条件是指针为空,而在循环链表中,遍历的结束条件是指针与头指针(或者头结点地址)相等。
  循环链表的特点:
  (1)最后一个结点的指针域指向第一个结点(或头结点)。
  (2)从链表中的任意一个结点出发,都能遍历链表中的所有结点。

2.7 环链表★3◎4