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

admin2019-07-18  2

问题 在双链表中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→next;
C、q→next=p;p→next=q;q→prior→next=q;q→next=p;
D、p→prior→next=q;q→next=p;q→prior→prior;p→prior=q;

答案D

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

相关试题推荐
随机试题
最新回复(0)