有一个非空循环双链表,在结点p之前插入结点q的操作是( )。
A. p.prior=q; q.next=p; p.prior.next=q; q.prior=p.prior;
B. p.prior=q; p.prior.next=q; q.next=p; q.prior=p.prior;
C. q.next=p; q.prior=p.prior; p.prior=q; p.prior.next=q;
D. q.next=p; q.prior=p.prior; p.prior.next=q; p.prior=q;