题15
题目
Q:在双链表中向 p 所指的结点之前插入一个结点 q 的操作为 ( )。

A.
p->prior=q;
q->next=p;
p->prior->next=q;
q->prior=p->prior;B.
q->prior=p->prior;
p->prior->next=q;
q->next=p;
p->prior=q;C.
q->next=p;
p->next=q;
q->prior->next=q;
q->next=p;D.
p->prior->next=q;
q->next=p;
q->prior=p->prior;
p->prior=q;分析
A:
始终要保证能找到插入的后继,因为插入的后继和它的前驱唯一关联
A选项里面P的前驱被赋掉以后就找不到 p 了
解
D
为了在 p 之前插入结点 q ,可以将 p 的前一个结点的 next 域指向 q ,将 q 的 next 域指向 p ,将 q 的 prior 域指向 p 的前一个结点,将 p 的 prior 域指向 q 。仅 D 满足条件。