单选题 32.在双链表中p所指的结点之前插入一个结点q的操作为( )。
【正确答案】 D
【答案解析】这种题目其实大部分考生都见过,解题步骤都是固定的。先画图,将选项给出的代码逐个进行检查,看是否存在断链或者赋值错误的情况。但是有一种万能的解法可以应对算法题。如果此题是算法题,考生可将此题的答案按照下面所给的解题技巧轻松地写出,完全不必担心步骤是否会发生错误。
解题技巧:这种题目的目的仅仅是需要把一个结点插入两个结点之间即可,答案肯定不唯一。但是我们应该从一些正确答案中挑选出一个万能的插入公式,这样,遇到这种题目,就能迎刃而解了。
例题:假设在双链表中p所指的结点之后插入一个结点s,其操作语句描述为 s一>next=p一>next;s一>prior=p;p->next=s,s一>next一>prior=s;
指针变化过程如图8-5所示。