在一个双链表中,在P结点之后插入结点q的操作是()。
A: q->prior=p; p->next=q; p->next->prior=q;q->next=p->next;
B: q->next=p->next; p->next->prior=q;p->next=q;q->prior=p;
C: p->next=q;q->prior=p;q->next=p->next;p->next->prior=q;
D: q->prior=p;p->next=q;q->next=p->next;p->next->prior=q;
A: q->prior=p; p->next=q; p->next->prior=q;q->next=p->next;
B: q->next=p->next; p->next->prior=q;p->next=q;q->prior=p;
C: p->next=q;q->prior=p;q->next=p->next;p->next->prior=q;
D: q->prior=p;p->next=q;q->next=p->next;p->next->prior=q;
举一反三
- 在一个长度为n(n≥1)的双链表中,在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;
- 在双向链表存储结构中,删除p所指的结点时须修改指针() A: (p->prior)->next=p->next;(p->next)->prior=p->prior; B: p->prior=(p->prior)->prior;(p->prior)->next=p; C: (p->next)->prior=p;p->rlink=(p->next)->next; D: p->next=(p->prior)->prior;p->prior=(p->next)->next
- 在一个单链表HL为表头指针中,若要在指针q所指的结点的后面插入一个由指针p所指的结点,则执行 ( )。 A: q->next = p->next ; p->next = q; B: p->next = q->next; q = p; C: q->next = p->next; p->next = q; D: p->next = q->next ; q->next = p;
- 删除单链表中指针p所指结点的语句序列为( )。 A: q=p->next; p->data=q->data; p->next=q->next; free(q); B: q=p->next; q->data=p->data; p->next=q->next; free(q); C: q=p->next; p->next=q->next; free(q); D: q=p->next; p->data=q->data; free(q);
- 在一个单链表中,已知 q 是 p 的前趋结点,若在 q 和 p 之间插入结点 s ,则应当执行语句序列( )。 A: s -> next = p -> next; p -> next = s; B: s -> next = q -> next; p -> next = s; C: s -> next = q -> next; q -> next = s; D: q -> next = s; s -> next = p;