双向链表结点的插入双向链表的插入操作基本上和单链表相同,但是双向链表的指针的调整要比单链表复杂。下面我们仍然采用例子说明的方式来讨论结点的插入问题。
1. 例子
现有一个双向链表如图3-18所示。
NULL
a b c d
NULL
head 图3-18 双向链表示例 此时将结点插入链表有三种情况: (1) 插入在双向链表首结点之前
新的结点插入在双向链表的首结点之前,需要将新结点的指针next指向首结点,同时原链表的首结点的prior指针需指向新结点。另外 ,head指针指向新结点,即新结点成为双向链表的开始。其过程如下图所示。
新结点