数据结构

单链表中删除p指针指向结点的后继(假设存在)的时间复杂度是()。A、O(1)B、O(n)C、O(nn)D、以上都不对

题目

单链表中删除p指针指向结点的后继(假设存在)的时间复杂度是()。

  • A、O(1)
  • B、O(n)
  • C、O(nn)
  • D、以上都不对
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

(55) A.p指向头结点

B.p指向尾结点

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

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


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

第2题:

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

A.求链表的第i个结点

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

C.删除表头结点

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


正确答案:A

第3题:

在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是()。

A、p=p-next

B、p-next=p-next-next

C、p-next=p

D、p=p-next-next;


正确答案:B

第4题:

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

A.遍历链表和求链表的第i个结点
B.在地址为P的结点之后插入一个结点
C.删除开始结点
D.删除地址为P的结点的后继结点

答案:A
解析:
A项,由于单链表是非随机存取的存储结构,遍历链表和求链表的第i个结点都必须从头指针出发寻找,其时间复杂度为0(n);B项,由于已知待插入结点的前驱结点,可以直接实现插入,其时间复杂度为0(1);CD两项,可以直接实现删除操作,其时间复杂度为O(1)。

第5题:

在单链表中,指针P指向元素为x的结点,语句(10)现“删除x的后继”

A.p=p→mext;

B.p→next=p→next→next;

C.p→next=p;

D.p=p→next→next;


正确答案:B
解析:“删除x的后继”只需使x的指针指向后继的下一个结点。

第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指向元素为x的结点,实现“删除x的后继”的语句是(20)。

A.p=p→next;

B.p→next:p→next→next;

C.p→next=p;

D.p=p→next→next;


正确答案:B
解析:删除p结点的直接后继需修改p结点的指针域,使p结点的指针域指向其后继的后继。即p->next=p->next->next。

第8题:

在单链表中,指针p指向元素为x的结点,实现删除x的后继的语句是()

A、p=p->next

B、p=p->next->next

C、p->next=p

D、p->next=p->next->next


参考答案:D

第9题:

设指针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。

第10题:

在单链表中,指针p指向结点A,若要删除A之后的结点(存在),则指针的操作方式为()。

A.p—>next=p—>next—>next
B.p=p—>next
C.p=p—>next—>next
D.p->next-p

答案:A
解析:
要在单链表中删除p指向的结点的后继结点,需要将后继结点的后继交给p所指结点的指铲域。具体实现语句为p—>next=p—>next—>next。

更多相关问题