已知指针 p 和 q 分别指向某单链表中第一个结点和最后一个结点, 假设指针 s 指向另一个单链表中某个结点, 则在 s 所指结点之后插入上述单链表应执行的语句为()

已知指针 p 和 q 分别指向某单链表中第一个结点和最后一个结点, 假设指针 s 指向另一个单链表中某个结点, 则在 s 所指结点之后插入上述单链表应执行的语句为()


A、

q->next=s->next; s->next=p;


B、

s->next=p; q->next=s->next;


C、

p->next=s->next; s->next=q;


D、

s->next=q; p->next=s->next;


【正确答案】:A
【题目解析】:

在单链表中,插入p指向的新结点的操作:


其中①p->next=q->next,表示新结点链域指向*q的后继结点;②q->next=p,表示修改*q的链域。注意①②执行顺序不可颠倒。

故本题中,s 所指结点之后插入单链表(p指向第一个结点,q指向最后一个结点):

①单链表最后一个结点的链域(即q->next)指向*s的后继结点(即s->next);

②修改*s的链域(即s->next)为单链表的第一个结点(即p)。故本题选A。


Top