已知L是无表头结点的单链表,且P结点既不是首元结点,也不是尾元

题目

已知L是无表头结点的单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。 a.在P结点后插入S结点的语句序列是()。 b.在P结点前插入S结点的语句序列是()。 c.在表首插入S结点的语句序列是()。 d.在表尾插入S结点的语句序列是()。 (1)P->next=S; (2)P->next=P->next->next; (3)P->next=S->next; (4)S->next=P->next; (5)S->next=L; (6)S->next=NULL; (7)Q=P; (8)while(P->next!=Q)P=P->next; (9)while(P->next!=NULL)P=P->next; (10)P=Q; (11)P=L; (12)L=S; (13)L=P;

参考答案和解析
正确答案: a.(4)(1)
b.(7)(11)(8)(4)(1)
c.(5)(12)
d.(9)(1)(6)
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

单链表中结点*p有且仅有一个后继结点的条件是()。


参考答案:p->next!=NULL&&p->next->next==NULL

第2题:

在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度是O。

A.求链表的第i个结点

B.在地址为P的结点之后插入一个结点

C.删除表头结点

D.删除地址为P的结点的后继结点


正确答案:A

第3题:

若线性表的插入和删除操作频繁地在表头或表尾位置进行,则更适宜采用的存储结构为()。

A、无头结点的双向链表

B、带尾指针的循环链表

C、无头结点的单链表

D、带头指针的循环链表


正确答案:B

第4题:

若L是一个无表头结点的单链表,P结点既不是首结点,也不是尾结点。则在P结点后插入S结点的语句是(32)。

A.S→next=P→next;P→next=S;

B.P→next=S;S→next=P→next;

C.S=P→next;P→next=S→next;

D.P→next=S→next;S=P→next;


正确答案:A
解析:S→next=P→next表示将P原来的后结点作为s的后结点;P→next=S表示将新的后结点定义为S。从而完成将S结点插入P结点后的操作。

第5题:

在不带头结点的非空单链表中,首元结点的存储位置由头指针指示,除首元结点外,其它任一元素结点的存储位置由前驱结点的指针域的指针指示。()

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


参考答案:正确

第6题:

程序中已构成如下图所示的不带头结点的单向链表结构,指针变量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的指针断开。移动后的结构图如图所示:

第7题:

在长度为n的()上删除第一个元素,其算法的时间复杂度为O(n)。

A.只有表头指针的不带表头结点的循环单链表

B.只有表尾指针的不带表头结点的循环单链表

C.只有表尾指针的带表头结点的循环单链表

D.只有表头指针的带表头结点的循环单链表


参考答案:A

第8题:

非空单循环链表L中结点*p是尾结点的条件是()。


参考答案:p->next==L

第9题:

在带头结点的非空单链表中,头结点的位置由()指示,首元结点的存储位置由()指示,除首元结点外,其它任一元素结点的存储位置由()指示。

A.头指针

B.头结点的指针域的指针

C.前驱结点的指针域的指针


参考答案:A,B,C

第10题:

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

A.p指向头结点

B.p指向尾结点

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

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


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

更多相关问题