在非空双循环链表中q所指的结点前插入一个由p所指结点的过程依次为:p->next=q;p->prior—=q->prior;q->prior=p;下一条语句是( )。

admin2019-12-10  36

问题 在非空双循环链表中q所指的结点前插入一个由p所指结点的过程依次为:p->next=q;p->prior—=q->prior;q->prior=p;下一条语句是(          )。

选项 A、q->next=p;
B、q一>prior->next=p;
C、p->prior->next=p;
D、p->next->priox=p;

答案C

解析 本题主要考查双链表插入时指针的变化,由于两个方向共需要修改4个指针,指针操作的顺序不是唯一的,但也不是任意的。只要把每条指针操作的涵义搞清楚,就不难理解了。
    设q指向双向链表中某结点,p指向待插入的新结点,将*p插入到*q的前面,插入过程如下图所示:
   
    操作如下:
    ①p一>next=q;
    ②p一>prior=q一>prior;
    ③q一>prior=p;
    ④p一>prior一>next=p;
    显然,题目中需要补充的语句为第④条语句,答案为C。
转载请注明原文地址:https://kaotiyun.com/show/zn3i777K
0

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