|
|
|
链表的指针修改必须保持其逻辑结构的次序,否则将违背线性表的特征,尤其是进行插入和删除操作。下面通过双向链表的插入操作来说明,若在如下1图所示的P所指向的节点之前插入一个S所指向的节点,则需进行指针的修改,修改指针的策略有如下2图和下3图所示两种,指针的修改次序为1, 2, 3, 4。根据线性表的性质可知,下图可保证指针修改成功;而下图中指针修改不成功,主要原因是其首先将P的前驱指向S,这样P节点的原前驱节点就不能找到了,因而指针修改步骤3和步骤4不成立。
|
|
|
|
|
|
|
|
|
可见,指针的修改次序是链表插入成功与否的关键因素之一;同理,在进行节点的删除时也同样需要主要指针的次序。
|
|
|
|
|
|
|
|
|
|
|
|
|
|