第1题:
已知指针 p 指向某双向链表的一个中间结点,下列语句序列实现的操作是()。 q = p -> prior; p -> prior = q -> prior; q -> prior -> next = p; free(q);
A.删除 p 结点
B.删除 p 结点的直接前驱结点
C.删除 p 结点的直接后继结点
D.删除 p 结点及其所有后继结点
第2题:
在双向链表中,在p所指向的结点前插入一个q所指向的结点,相应的操作语句是()。 注:双向链表的结点结构为(prior,data,next)。
A.p->prior=q;q->next=p;p->prior->next=q;q->prior=q;
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->next=q;p->prior=q;
D.q->prior=p->prior;q->next=q;p->prior=q;p->prior=q;
第3题:
(填空题)某双向链表中,结点结构为【prior,data,next】。那么删除p指针所指结点时,需要执行语句:p->next->prior=p->prior; 与 _______;free(p);
第4题:
某双向链表中,结点结构为【prior,data,next】。那么删除p指针所指结点时,需要执行语句:p->next->prior=p->prior; ; free(p);
第5题:
在双向循环链表中,在p指针所指的结点后插入q所指向的新结点,其修改指针的操作是()。 注:双向链表的结点结构为(prior,data,next)。
A.p-next = q; q->prior = p; p->next->prior = q; q->next = q;
B.p->next = q; p->next->prior = q; q->prior = p; q->next = p->next;
C.q->prior = p; q->next = p->next; p->next->prior = q; p->next = q;
D.q->prior =p; q->next = p->next; p->next = q; p->next->prior = q;