问题
单项选择题
在一个双链表中,在*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。