参考答案和解析
正确答案:错误
更多“在单链表中,给定任一结点的地址p,则可用下述语句将新结点s插入结”相关问题
  • 第1题:

    在一个单链表中,若q结点是p结点的前驱结点,在q与p之间插入结点s,则执行( )。

    A.s→link=p→link; p→link=s

    B.p→link=s; s→link=q

    C.p→link=s→link; s→link=p

    D.q→link=s; s→link=p


    正确答案:D
    解析:在单链表中插入一个元素需要执行以下步骤:首先将待插入节点的前驱结点的指针域指向待插入节点,然后将待插入节点的指针域指向待插入节点的前驱结点原先的后继节点。

  • 第2题:

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

  • 第3题:

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

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

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

  • 第4题:

    对于一个具有n个结点的单链表,在已知的结点p后插入一个新结点的时间复杂度为(),在给定值为x的结点后插入一个新结点的时间复杂度为()


    正确答案:O(1);O(n)

  • 第5题:

    一个具有n个结点的单链表,在指针p所指结点后插入一个新结点的时间复杂度为();在给定值为x的结点后插入一个新结点的时间复杂度为()。


    正确答案:O(1);O(n)

  • 第6题:

    在单链表中,若要在指针P所指结点后插入指针s所指结点,则需要执行下列两条语句,s->next=p->next,()


    正确答案:p->next=s

  • 第7题:

    在一个单链表中p所指结点之后插入一个s所指结点时,应执行()和p->next=s;的操作。


    正确答案:s->next=p->next;

  • 第8题:

    填空题
    若要在单链表结点*P后插入一结点*S,执行的语句()。

    正确答案: s->next=p->next;p->next=s
    解析: 暂无解析

  • 第9题:

    问答题
    已知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)
    解析: 暂无解析

  • 第10题:

    填空题
    在单链表中,若要在指针P所指结点后插入指针s所指结点,则需要执行下列两条语句,s->next=p->next,()

    正确答案: p->next=s
    解析: 暂无解析

  • 第11题:

    判断题
    在单链表中,给定任一结点的地址p,则可用下述语句将新结点s插入结点p的后面:p->next;
    A

    B


    正确答案:
    解析: 暂无解析

  • 第12题:

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

    正确答案: q->next=p->next,p->next=q
    解析: 暂无解析

  • 第13题:

    在一个单链表中,若q结点是p结点的前驱结点,在q与p之间插入结点s,则执行( )。

    A.s->link=p->link;p->link=s

    B.p->link=s;s->link=q

    C.p->link;s->link;s->link=p

    D.q->link=s;s->link=p


    正确答案:D
    解析:在单链表中插入一个元素需要执行以下步骤:首先将待插入节点的前驱结点的指针域指向待插入节点,然后将待插入节点的指针域指向待插入节点的前驱结点原先的后继节点。

  • 第14题:

    在单链表指针为P的结点之后插入指针为s的结点,正确的操作是()。


    答案:B
    解析:
    在单链表结点P后插入结点s,要先改变s结点的指针域,指向p的后继结点。然后将s的地址赋给P的指针域。具体的操作语句为s—>next=P—>next;p—>next=s。

  • 第15题:

    单向链表的链域为next,设指针p指向单向链表中的某个结点,指针S指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p->next==s;s->next==p->next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写。

  • 第16题:

    已知单链表上一结点的指针为p,则在该结点之后插入新结点*s的正确操作语句为()

    • A、 p->next=s; s->next=p->next;
    • B、 s->next=p->next; p->next=s;
    • C、 p->next=s; p->next=s->next;
    • D、 p->next=s->next; p->next=s;

    正确答案:B

  • 第17题:

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


    正确答案:q->next=p->next,p->next=q

  • 第18题:

    在单链表中,若要在指针P所指结点后插入指针S所指结点,则需要执行下列两条语句()和()。


    正确答案:s->next=p->next;p->next=s

  • 第19题:

    若要在单链表结点*P后插入一结点*S,执行的语句()。


    正确答案:s->next=p->next;p->next=s

  • 第20题:

    填空题
    在单链表中,若要在指针P所指结点后插入指针S所指结点,则需要执行下列两条语句()和()。

    正确答案: s->next=p->next,p->next=s
    解析: 暂无解析

  • 第21题:

    判断题
    在单链表中,给定任一结点的地址p,则可用下述语句将新结点s插入结点p的后面:p->next=s;s->next=p->next;(  )
    A

    B


    正确答案:
    解析:

  • 第22题:

    填空题
    一个具有n个结点的单链表,在指针p所指结点后插入一个新结点的时间复杂度为();在给定值为x的结点后插入一个新结点的时间复杂度为()。

    正确答案: O(1),O(n)
    解析: 在p所指结点后插入一个新结点只需修改指针,所以时间复杂度为Ο(1);而在给定值为x的结点后插入一个新结点需要先查找值为x的结点,所以时间复杂度为Ο(n)。

  • 第23题:

    填空题
    对于一个具有n个结点的单链表,在已知的结点p后插入一个新结点的时间复杂度为(),在给定值为x的结点后插入一个新结点的时间复杂度为()

    正确答案: O(1),O(n)
    解析: 暂无解析