题17
题目
在如下图所示的双链表中,已知指针 p 指向结点 A ,若要在结点 A 和 C 之间插入 指针 q 所指的结点 B ,则依次执行的语句序列可以是 ( ).

① q->next = p->next;
② q->prior = p;
③ p->next = q;
④ p->next->prior = q;
A. 1243
B. 4321
C. 3412
D. 1342
分析

解
A
结点 p 和 q 指示,但结点 p->next 间接指示,因此在改变 p->next 和 p->next->prior 之前,必须先将 q->next 指向结点 C ,即①要在③和④前面,且④要在③ 前面 (因为若先执行③, 则④相当于 q->prior 指向其自身, 显然矛盾)。
故只能选 A。