[问答题]

在单链表、双链表和单循环表中,若仅知道指针p指向某结点,不知道头指针,能否将结点*p从相应的链表中删去?若可以,其时间复杂度各为多少?

参考答案与解析:

相关试题

对于单链表,如果仅仅知道一个指向链表中某结点的指针p, (54) 将p所指结点

[单选题]对于单链表,如果仅仅知道一个指向链表中某结点的指针p, (54) 将p所指结点的数据元素与其确实存在的直接前驱交换,对于单循环链表来说 (55) ,而对双向链表来说 (56) 。(54) ~(56) A.可以B.不可以C.不确定D.仅能一次

  • 查看答案
  • 在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p→*

    [单选题]在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p→*next→*next=head,则 (55) 。(55) A.p指向头结点B.p指向尾结点C.*p的直接后继是头结点D.*p的直接后继是尾结点

  • 查看答案
  • 设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为()。

    [单选题]设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为()。A.q=p->next;p->data=q->data;p->n

  • 查看答案
  • 在头指针为head的非空单循环链表中,指针p指向尾结点,下列关系成立的是()

    [单选题]在头指针为head的非空单循环链表中,指针p指向尾结点,下列关系成立的是 ( )A.p—>next==headB.p—>next—>Next==headC.p—>next==NULLD.p==head

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

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

  • 查看答案
  • 设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向

    [填空题] 设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。

  • 查看答案
  • 在具有头结点的单链表中,头指针指向链表的第一个数据结点。

    [判断题] 在具有头结点的单链表中,头指针指向链表的第一个数据结点。A . 正确B . 错误

  • 查看答案
  • 针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p->next

    [单选题]针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p->next->next==head,则()。A . p指向头结点B . p指向尾结点C . p的直接后继是头结点D . p的直接后继是尾结点

  • 查看答案
  • 设有指针head指向的带表头结点的单链表,现将指针p指向的结点插入表中,使之成为

    [单选题]设有指针head指向的带表头结点的单链表,现将指针p指向的结点插入表中,使之成为第一个结点,其操作是______其中p^.next、head^.next分别表示p、head所指结点的链域。A.p^.next:=head^.next; head^.next:=pB.p^.next:=head^.next; head:=pC.p^.next:=head; head:=pD.head^.next:=head; p:=head

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

    [单选题]在单链表中,指针p指向结点A,若要删除A之后的结点(存在),则指针的操作方式为()。A.p—>next=p—>next—>nextB.p=p—>nex

  • 查看答案
  • 在单链表、双链表和单循环表中,若仅知道指针p指向某结点,不知道头指针,能否将结点