工学

填空题已知在结点个数大于1的单链表中,指针p指向某个结点,则下列程序段结束时,指针q指向*p的()结点。 q=p; while(q->next!=p) q=q->next;

题目
填空题
已知在结点个数大于1的单链表中,指针p指向某个结点,则下列程序段结束时,指针q指向*p的()结点。 q=p; while(q->next!=p) q=q->next;
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

单链表的每个结点中包括一个指针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。

第2题:

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

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


标准答案:对

第3题:

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

若有以下程序段 q=s; s=s->next; p=s; while(p->next) p=p->next; P->next=q; q->next=NULL; 该程序段实现的功能是______。

A.首结点成为尾结点

B.尾结点成为首结点

C.删除首结点

D.删除尾结点


正确答案:A
解析:根据语句q=s得知指针q指向结点a;由s=s->next;p=s得知指针p和s均指向接点b;在满足while语句的情况下,抽行p=p->next;得知p现在指向结点c;由p->next=q得知p指向的结点是a,a移到c的后面;由q->next=NULL得知结点a与结点b的指针断开。移动后的结构图如图所示:

第4题:

单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现将从单链表中删除指针p所指的下一结点。下面的操作序列中哪一个是正确的?

A.q:=p^.1ink;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


正确答案:A
解析: 单链表是链式存储的线性表,它的每个结点中包括一个指针link,它指向该结点的后继结点的位置。从单链表中删除指针P所指的下一结点的运算表达式为 q:^=p^.link;p^.link:=q^.link。

第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
解析:本题考核有关计算机键表的基本知识,参考2.2.2“键表”一节。

第6题:

单链表的每个结点中包括一个指针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)是正确的。 

第7题:

已知指针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

第8题:

●在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p→*next→*next=head,则 (55) 。

(55) A.p指向头结点

B.p指向尾结点

C.*p的直接后继是头结点

D.*p的直接后继是尾结点


正确答案:D
【解析】因为循环链表的尾结点的指针域中存放的是头指针,而尾结点由其直接前驱结点的指针域所指向,因此,当指针p指向尾结点的直接前驱结点时,满足关系式p->next->next=head。

第9题:

某单循环链表头指针为head且表长大于1,指针p指向表中某个结点,若p→next→next= head,则(11)。

A.p指向头结点

B.p指向尾结点

C.*p的直接后继是头结点

D.*P的直接后继是尾结点


正确答案:D
解析:因为p→next→next=head,所以p→next是尾结点,即*P的直接后继是尾结点。

第10题:

单链表的每个结点中包括一个指针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指向的地址。

更多相关问题