工学

单选题在一个单链表中,己知指针q所指向的结点是指针P所指向的结点的前趋结点,若在指针q和p所指向的两个结点之间插入指针s指向的结点,则执行()Ap->next=s;s->next=qBq->next=s;s->next=pCS->next=p->next;p->next=sDp->next=s->next;s->next=q

题目
单选题
在一个单链表中,己知指针q所指向的结点是指针P所指向的结点的前趋结点,若在指针q和p所指向的两个结点之间插入指针s指向的结点,则执行()
A

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

B

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

C

 S->next=p->next;p->next=s

D

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

参考答案和解析
正确答案: B
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

要在一个单向链表中删除p所指向的结点,已知q指向p所指结点的直接前驱结点,若链表中结点的指针域为next,则可执行q->next= p->next。()

此题为判断题(对,错)。


标准答案:对

第2题:

单键表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的?

A.q:=p^.link;p^.link:=q^.link;

B.p^.link:=q^.link;q:=p^.link;

C.q^.link:=p^.link;p^.link:=q;

D.p^.link:=q;q^.link:=p^.link;


正确答案:C
解析:本题考核有关计算机键表的基本知识,参考2.2.2“键表”一节。

第3题:

单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插人到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的?

A.q:=p^. link; p^.Link:=q^.link;

B.p^.link:=q^.1ink; q:=p^.1ink;

C.q^.link:=p^.link; p^.1ink:=q;

D.p^.1ink:=q; q^.link:=p^.link;


正确答案:C
解析:单链表是链式存储的线性表,它的每个结点中包括一个指针link,它指向该结点的后继结点的位置。将指针q指向的新结点插入到指针P指向的单链表结点之后的操作步骤是将指针P所指向的地址赋于q,将q的值赋于日向的地址,其运算表达式为q^.link:=p^.link;p^ link:=q。

第4题:

设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为()。

A.p->next=s;s->next=q;
B.q->next=s;s->next=p;
C.p->next=s->next;s->next=p;
D.s->next=p->next;p->next=-s;

答案:B
解析:
插入s结点,应使s的next指针指向p结点,使q结点的next指针指向s。

第5题:

单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针P指向的的单链表结点之后,下面的操作序列中哪一个是正确的?

A.q:=p↑.link; p↑.link:=q↑.link;

B.p↑.link:=q↑.link; q:=p↑.link;

C.q↑.link:=p↑.link;p↑link:=q;

D.p↑.link:=q; q↑.link:=p↑.link;


正确答案:C
解析:将指针p所指向的地址赋于q,将q的值赋于p指向的地址。

第6题:

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

A、q->next=x->next;x->next=p;

B、s->next=p;q->next=x->next;

C、p->next=x->next;x->next=p;

D、x->next=q;p->next=x->next;


参考答案:A

第7题:

程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、P、q、均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。

该程序段实现的功能是( )。

A.首结点成为尾结点

B.尾结点成为首结点

C.删除首结点

D.删除尾结点


正确答案:A
循环找到末尾结点,然后赋值给第一个结点,所以选择A)。

第8题:

单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针P指向的单链表结点之后,下面的操作序列中正确的是( )

A)q;=p↑.link;p↑.link:=q↑,link;

B)p↑.link.q↑.link;q:=p↑.link;

C)q↑.link::p↑.link;P↑.link:=q;

D)P↑.link:=q;q↑.link:=p↑.link;


正确答案:C
由单链表的存储结构可知,每个结点的指针域保存其后继结点的指针。将指针为q的新结点插入到指针为P的结点之后,则原指针为P的结点的后继结点成为新结点的后继结点,由单链表的存储结构可知应执行q↑.link:=p↑.link,新结点成为指针P的后继结点,因此应执行p↑.link:=q,综上所述,选项C)是正确的。 

第9题:

设指针变量p指向单链表中的结点A,则删去结点A的语句序列为 Q=p->next;p->data = p->data: p->next=(); :feee(q);


正确答案:q->next

第10题:

双向链表中有两个指针域llink和rlink,分别指向前驱和后继,设β指向表中的一个结点,q指向一待插入结点,现要求在p前插入q,则正确的插人为()。


答案:D
解析:
p→llink→rlink=q;q→rlink=p;q→llink=p→llink;p→llink=q

更多相关问题