问题 单项选择题

在一个双链表中,在*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=p->prior;p->prior=q;

答案

参考答案:D

解析:(1)p结点的前驱结点指向的后继结点指向q。(2)q的后继结点指向p。(3)q的前驱结点指向p的前驱结点。(4)p的前驱结点更新为q。

单项选择题
问答题 简答题