计算机科学与技术

问答题设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p->next=s;s->next=p->next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写?

题目
问答题
设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p->next=s;s->next=p->next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写?
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A、无头结点的双向链表

B、带尾指针的循环链表

C、无头结点的单链表

D、带头指针的循环链表


正确答案:B

第2题:

单向循环链表是单向链表的一种扩充,当单向链表带有头结点时,把单向链表中尾结点的指针域由空指针改为回答;当单向链表不带头结点时,则把单向链表中尾结点的指针域由空指针改为指向()。


参考答案:头结点的指针、指向第一个结点的指针

第3题:

● 若在单向链表上,除访问链表中所有结点外,还需在表尾频繁插入结点,那么采用 (31) 最节省时间。

(31)

A. 仅设尾指针的单向链表

B. 仅设头指针的单向链表

C. 仅设尾指针的单向循环链表

D. 仅设头指针的单向循环链表


正确答案:C

第4题:

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

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

答案:A
解析:
只有首结点指针的不带头结点的循环单链表删除第一个元素,需要遍历整个链表,因此A项的时间复杂度为O(n),BCD三项的时间复杂度都为O(1)。

第5题:

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

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

A.首结点成为尾结点

B.尾结点成为首结点

C.删除首结点

D.删除尾结点


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

第6题:

要在一个带头结点的单向循环链表中删除头结点,得到一个新的不带头结点的单向循环链表,若结点的指针域为next,头指针为head,尾指针为p,则可执行head=head-> next; p->next=head。()

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


标准答案:对

第7题:

若在单向链表上,除访问链表中所有结点外,还需在表尾频繁插入结点,那么采用______最节省时间。

A.仅设尾指针的单向链表

B.仅设头指针的单向链表

C.仅设尾指针的单向循环链表

D.仅设头指针的单向循环链表

A.

B.

C.

D.


正确答案:C

第8题:

若在单向链表上,除访问链表中所有节点外,还需在表尾频繁插入节点,那么采用()最节省时间。

A.仅设尾指针的单向链表

B.仅设头指针的单向链表

C.仪设尾指针的单向循环链表

D.仅设头指针的单向循环链表


参考答案:C
单向链表仅设头指针时,在表尾插入节点时需要遍历整个链表,时间复杂度为0(n),仅设尾指针时,在表尾插入节点的时间复杂度为0(1),但是不能访问除了尾节点之外的所有其他节点。单向循环链表仅设头指针时,在表尾插入节点时需要遍历整个链表,时间复杂度为0(n),仅设尾指针时,在表尾插入节点的时间复杂度为0(1),同时达到表头节点的时间复杂度为0(1),因此对于题中给出的操作要求,适合采用仅设尾指针的单向循环链表。

第9题:

若在单向链表上,除访问链表中所有结点外,还需在表尾频繁插入结点,那么采用( )最节省时间。

A.仅设尾指针的单向链表
B.仅设头指针的单向链表
C.仅设尾指针的单向循环链表
D.仅设头指针的单向循环链表

答案:C
解析:
单向链表仅设头指针时,在表尾插入结点时需要遍历整个链表,时间复杂度为o (n),仅设尾指针时,在表尾插入结点的时间复杂度为O (1),但是不能访问除了尾结点之外的所有其他结点。而单向循环链表仅设头指针时,在表尾插入结点时需要遍历整个链表,时间复杂度为0(n),仅设尾指针时,在表尾插入结点的时间复杂度为0(1),同时达到表头结点的时间复杂度为0(1),因此对于题中给出的操作要求,适合采用仅设尾指针的单向循环链表。

第10题:

非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。

Ap==head

Bp==NULL

Cp->next==head

Dp->next==NULL


C

更多相关问题