单链表:
将单链表中的终端结点的指针端由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾想接的单链表称为单循环链表,简称循环链表。其实循环链表和单链表的主要差异在于循环的判断条件上,原来是判断p->next是否为空,现在则是判断p->next是否等于头结点,则表示循环结束
改造单链表,不用头指针,而是用指向终端结点的尾指针来表示循环链表,此时查找结束结点和头结点都很方便。
将两个循环链表合并在一起的时候,有尾指针就显得简单很多
p=rearA->next;
rearA->next=rearB->next->next;
q=rearB->next;
rearB->next=p;
delete(q)
双链表:
双向链表是在单链表的每一个结点中,再设置一个指向其前驱结点的指针域。所以在双向链表中的结点都有两个指针域,一个指向直接后继,另一个指向直接前驱