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

admin2019-05-10  30

问题 非空双循环链表中,在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->prior=p;

答案C

解析 本题主要考查双链表的插人时指针的变化,由于两个方向共需要修改4个指针,指针操作的顺序不是唯一的,但也不是任意的。只要把每条指针操作的涵义搞清楚,就不难理解了。
    设q指向双向链表中某结点,p指向待插入的新结点,将。p插入到’q的前面,插入过程如图8—3所示:

    操作如下:
    ①p-> next=q;
    ②p-> prior=q->prior;
    ③q-> prior=p;
    ④p-> prior->next=p;
    显然,题目中需要补充的语句为第④条语句,答案为C。
转载请注明原文地址:https://kaotiyun.com/show/n6Ci777K
0

最新回复(0)