【题目描述】 (9)双链表的每个结点包括两个指针域。其中 rlink 指向结点的后继,llink 指向结点的前驱。如果要在 P 所指结点前面插入 q所指的新结点,下面哪一个操作序列是正确的?A)p↑.rlink↑.llink:=q; p↑.rlink:=q; q↑.llink:=p; q↑.rlink:=p↑.rlink;B)p↑.1link↑.rlink:=q; p↑.llink:=q; q↑.r

题目

【题目描述】

 (9)双链表的每个结点包括两个指针域。其中 rlink 指向结点的后继,llink 指向结点的前驱。如果要在 P 所指结点前面插入 q所指的新结点,下面哪一个操作序列是正确的?

A)p↑.rlink↑.llink:=q; p↑.rlink:=q;   q↑.llink:=p; q↑.rlink:=p↑.rlink;

B)p↑.1link↑.rlink:=q;  p↑.llink:=q;  q↑.rlink:=p; q↑.llink:=p↑.llink;

C)q↑.llink:=p:q↑.rlink:=p↑.rlink;  p↑.rlink↑.llink:=q; p↑.rlink:=q;

D)q↑.rlink:=p;   q↑ .llink:=p↑ .llink;  p↑.llink↑.rlink:=q; p↑.llink:=q;

 

 

 


相似考题
更多“【题目描述】 (9)双链表的每个结点包括两个指针域。其中 rlink 指向结点的后继,llink 指向结点的前驱。如果要在 P 所指结点前面插入 q所指的新结点,下面哪一个操作序列是正确的? A)p.rlink.llink:=q;p.rlink:=q;q.llink:=p;q.rlink:=p.rlink; B)p.1link.rlink:=q;p.llink:=q;q.rlink:=p;q.llink:=p.llink; C)q.llink:=p:q.rlink:=p.rlink”相关问题
  • 第1题:

    单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插人到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的?

    A.q:=p^. link; p^.Link:=q^.link;

    B.p^.link:=q^.1ink; q:=p^.1ink;

    C.q^.link:=p^.link; p^.1ink:=q;

    D.p^.1ink:=q; q^.link:=p^.link;


    正确答案:C
    解析:单链表是链式存储的线性表,它的每个结点中包括一个指针link,它指向该结点的后继结点的位置。将指针q指向的新结点插入到指针P指向的单链表结点之后的操作步骤是将指针P所指向的地址赋于q,将q的值赋于日向的地址,其运算表达式为q^.link:=p^.link;p^ link:=q。

  • 第2题:

    单链表的每个结点中包括一个指针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)是正确的。 

  • 第3题:

    双链表的每个结点 包括两个指针域。其中rlink指向结点的后继,llink指向结点的前驱。如果要在p所指结点后插入q所指的新结点,下面操作序列正确的是( )。A.p↑.rlink↑.llink:q;p↑.rlink:=q;q↑.llink:=p;q↑.rlink:p↑.rlink;B.p↑llink↑.rlink:q;p↑.llink:=q;q↑.rlink:=p;q↑.llink:p↑.llink;C.q↑.llink:=p;q↑.rlink:=p↑.rlink;p↑.rlink↑.llink:=q;p↑.rlink:=q;D.q↑.rlink:=p;q↑.llink:p↑.llink;p↑llink↑.rlink:q;p↑.llink:=q;


    正确答案:C
    设p所指结点为A,q所指结点为B,将A结点的右指针指向B结点,B结点的左指针指向A结点,右指针指向A结点原来的下一结点(设为C),C结点左指针指向B结点。

  • 第4题:

    在双向循环链表中,在p指针所指向的结点前插入一个指针q所指向的新结点其修改指针的操作是( )。(双向链表的结点结构是llink,data,rlink)

    A: p->llink=q;q->rlink=p;p->llink->rlink=q;q->llink=q;

    B: p->llink=q; p->llink->rlink=q; q ->rlink=p;q->llink= p->llink;

    C: p->llink=q; q->llink= p->llink; p->llink->rlink=q;p->llink=q;

    D: q->llink= p->llink;q->rlink=p; p->llink =q;p->llink=q;


    正确答案: C

  • 第5题:

    双链表的每个结点包括两个指针域。其中rlink指向结点的后继,llink指向结点的前驱。 如果要在p所指结点前面插入q所指的新结点,下面操作序列正确的是_________。

    A.p↑.rlink↑.llink:=q;p↑.rlink:=q;q↑.llink:=p;q↑.rlink:=p↑.rlink;

    B.p↑.llink↑.rlink:=q;p↑.llink:=q;q↑.rlink:=p;q↑.llink:=p↑.llink;

    C.q↑.llink:=p;q↑.rlink:=p↑.rlink;p↑.rlink↑.llink:=q;p↑.rlink:=q;

    D.q↑.rlink:=p;q↑.llink:=p↑.llink;p↑.llink↑.rlink:=q;p↑.llink:=q;


    正确答案:D
    解析:在双单向链表P结点前插入q结点运算的关键步骤为:q↑.rlink:=p;q↑.llink:=p↑.llink;p↑.llink↑.rlink:=q;p↑.llink:=q;。

  • 第6题:

    单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现将从单链表中删除指针p所指的下一结点。下面的操作序列中哪一个是正确的?

    A.q:=p^.1ink;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


    正确答案:A
    解析: 单链表是链式存储的线性表,它的每个结点中包括一个指针link,它指向该结点的后继结点的位置。从单链表中删除指针P所指的下一结点的运算表达式为 q:^=p^.link;p^.link:=q^.link。

  • 第7题:

    单链表的每个结点中包括一个指针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
    解析:将指针p所指向的地址赋于q,将q的值赋于p指向的地址。

  • 第8题:

    要在一个单向链表中删除p所指向的结点,已知q指向p所指结点的直接前驱结点,若链表中结点的指针域为next,则可执行()。
    q->next=p->next;

  • 第9题:

    在一个单链表中,己知指针q所指向的结点是指针P所指向的结点的前趋结点,若在指针q和p所指向的两个结点之间插入指针s指向的结点,则执行()

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

    正确答案:B

  • 第10题:

    双链表的每个结点包括两个指针域。其中rlink指向结点的后继,llink指向结点的前驱。如果要在p所指结点后插入q所指的新结点,下列哪一个操作序列是正确的?()

    • A、p↑.rlink↑.llink:=q;p↑.rlink:=q;q↑.llink:=p;q↑.rlink:=p↑.rlink;
    • B、p↑.llink↑.rlink:=q;p↑.llink:=q;q↑.rlink:=p;q↑.llink:=p↑.llink;
    • C、q↑.llink:=p;q↑.rlink:=p↑.rlink;p↑.rlink↑.llink:=q;p↑.rlink:=q;
    • D、q↑.rlind:=p;q↑.llink:=p↑.llink;p↑.llink↑.rlink:=q;p↑.llink:=q;

    正确答案:C

  • 第11题:

    填空题
    要在一个单向链表中删除p所指向的结点,已知q指向p所指结点的直接前驱结点,若链表中结点的指针域为next,则可执行()。

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

  • 第12题:

    单选题
    双链表的每个结点包括两个指针域。其中rlink指向结点的后继,llink指向结点的前驱。如果要在p所指结点后插入q所指的新结点,下列哪一个操作序列是正确的?()
    A

    p↑.rlink↑.llink:=q;p↑.rlink:=q;q↑.llink:=p;q↑.rlink:=p↑.rlink;

    B

    p↑.llink↑.rlink:=q;p↑.llink:=q;q↑.rlink:=p;q↑.llink:=p↑.llink;

    C

    q↑.llink:=p;q↑.rlink:=p↑.rlink;p↑.rlink↑.llink:=q;p↑.rlink:=q;

    D

    q↑.rlind:=p;q↑.llink:=p↑.llink;p↑.llink↑.rlink:=q;p↑.llink:=q;


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

  • 第13题:

    假设双链表结点的类型如下: Typedef struct linknode {int data; /*数据域*/ struct linknode *llink; /*llink是指向前驱结点的指针域*/ struct linknode *rlink; /*rlink是指向后续结点的指针域*/ }bnode 下面给出的算法段是要把一个q所指的新结点作为非空双向链表中的p所指结点的前驱结点插入到该双链表中,能正确完成要求的算法段是(32)。

    A.q->rlink=p;q->llink=p->llink;p->llink=q;p->llink->rlink=q;

    B.p->llink=q;q->rlink=p;p->llink->rlink=q:q->llink=p->llink;

    C.q->llink=p->llink:q->rlink=p;p->llink->rlink=q;p->llink=q;

    D.以上都不对


    正确答案:C
    解析:本题考查链表的操作问题。在链表中插入一个结点时,首先需要确定插入的位置,题目中是插入在p结点前面,因此,需要把插入结点q的rlink指向p,q的llink指向p的llink。然后,需要把p的llink指向q,p的前驱结点的rlink也指向q。

  • 第14题:

    双链表的每个结点包括两个指针域。其中rlink指向结点的后继,llink指向结点的前驱。如果要在P所指结点后插入q所指的新结点,下列( )操作序列是正确的。

    A) q↑.rlink:=p; q↑.llink:=p↑.llink; p↑.rlink↑.rlink:=q; p↑.11ink:=q;

    B) q↑llink:=p; q↑.rlink:=p↑.rlink; p↑rlink↑.llink:=q; p↑rlink:=q;

    C) p↑.llink↑.rlink:=q; p↑.llink:=q; q↑rlink:=p; q↑.llink:=p↑.llink;

    D) p↑.rlink↑.llink:=q; p↑.rlink:=q; q↑llink:=p; q↑rlink:=p↑.rlink;


    正确答案:B
    在双链表中,如果要在P所指结点后插入q所指的新结点,只需修改P所指结点的rlink字段和原后继的llink字段,并置q所指结点的llink和rlink值。即q↑.llink:=p;q↑.rlink:=p ↑.rlink;p ↑.rlink ↑.llink:=q;p ↑.rlink:=q。

  • 第15题:

    要在一个单向链表中删除p所指向的结点,已知q指向p所指结点的直接前驱结点,若链表中结点的指针域为next,则可执行q->next= p->next。()

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


    标准答案:对

  • 第16题:

    单键表的每个结点中包括一个指针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
    解析:本题考核有关计算机键表的基本知识,参考2.2.2“键表”一节。

  • 第17题:

    双链表的每个节点包括两个指针域。其中rlink指向节点的后继,llink指向节点的前驱。如果要在p所指节点后插入q所指的新节点,下面哪一个操作序列是正确的?

    A.p↑.rlink↑.llink:=q;p↑.rlink:=q;q↑.llink:=p;q↑.rlink:=p↑,rlink;

    B.p↑.llink↑.rlink:=q;p↑.llink:=q;q↑.rlink:=p;q↑.llink:=p↑.llink;

    C.q↑.llink:=p;q↑.rlink:=p↑.rlink;p↑.rlink↑.llink:=q;p↑.rlink:=q↑;

    D.q↑.rlink:=p;q↑.llink:=p↑.llink;p↑.1link↑.rlink:=q;p↑.llink:=q;


    正确答案:C
    解析:在双链表中,如果要在P所指节点后插入q所指的新节点,只需修改P所指节点的rlink字段和原后继的llink字段,并置q所指节点的llink和rlink值。即:
      q↑.llink:=p;q↑.rlink:=p↑.rlink;p↑.rlink↑.rlink:=q;p↑.rlink:=q。

  • 第18题:

    在双向循环链表中,在P指针所指向的结点前插入一个指针q所指向的新结点,其修改指针的操作是(55)。

    A.P->llink=q;q->rlink=p;P->llink->rlink=q;q->llink=p;

    B.P->llink=q;P->llink->rlink=q;q->rlink=p;q->llink=p->llink;

    C.q->rlink=p;q->liink=p->llink;P->llink->rlink=q;P->llink=q;

    D.q->llink=p->llink;q->rlink=p;P->llink=q;P->rlink=q;


    正确答案:C
    解析:这里应是先将;的左右指针设定,即q的左指针赋为p的左指针,q的右指针赋为p,这两步可以互换;然后将p的左指针指向的结点的右指针赋为q;最后将p的左指针赋为qo所以应选Co

  • 第19题:

    双向链表中有两个指针域llink和rlink,分别指向前驱和后继,设β指向表中的一个结点,q指向一待插入结点,现要求在p前插入q,则正确的插人为()。


    答案:D
    解析:
    p→llink→rlink=q;q→rlink=p;q→llink=p→llink;p→llink=q

  • 第20题:

    在非空双向循环链表中由q所指的结点后面插入一个由p指的结点的动作依次为:llink(p)←q,rlink(p)←rlink(q),rlink(q)←p,llink(rlink(q))←p。


    正确答案:错误

  • 第21题:

    在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。

    • A、p->next=q->next
    • B、p=q->next
    • C、q->next=NULL
    • D、p->next=q

    正确答案:A

  • 第22题:

    单选题
    双向链表中有两个指针域,llink和rlink,分别指回前驱及后继,设p指向链表中的一个结点,q指向一待插入结点,现要求在p前插入q,则正确的插入为()。
    A

    p->llink=q;q->rlink=p;p->llink->rlink=q;q->llink=p->llink;

    B

    q->llink=p->llink;p->llink->rlink=q;q->rlink=p;p->llink=q->rlink;

    C

    q->rlink=p;p->rlink=q;p->llink->rlink=q;q->rlink=p;

    D

    p->llink->rlink=q;q->rlink=p;q->llink=p->llink;p->llink=q;


    正确答案: D
    解析:

  • 第23题:

    判断题
    在非空双向循环链表中由q所指的结点后面插入一个由p指的结点的动作依次为:llink(p)←q,rlink(p)←rlink(q),rlink(q)←p,llink(rlink(q))←p。
    A

    B


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