单选题双向链表中有两个指针域,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->rli

题目
单选题
双向链表中有两个指针域,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;


相似考题
更多“双向链表中有两个指针域,llink和rlink,分别指回前驱及后继,设p指向链表中的一个结点,q指向一待插入结点,现要求”相关问题
  • 第1题:

    双链表的每个结点包括两个指针域。其中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。

  • 第2题:

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

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


    标准答案:对

  • 第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↑.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。

  • 第4题:

    在双向链表中,每个结点都含有两个指针域,它们一个指向其前驱结点,另一个指向其【】 结点


    正确答案:后继
    双向链表中,一个指针指向前驱或前件,一个指针指向后继或后件。

  • 第5题:

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

  • 第6题:

    设p为指向双向循环链表中某个结点的指针,p所指向的结点的两个链域分别用p->llink和p->rlink表示,则下列等式中()成立。

    • A、p=p->llink
    • B、p=p->rlink
    • C、p=p->llink->llink
    • D、p=p->llink->rlink

    正确答案:D

  • 第7题:

    在双向链表中,每个结点含有两个指针域,一个指向()结点,另一个指向()结点。


    正确答案:前驱;后继

  • 第8题:

    设单链表中指针p 指向结点A,q指针指向其后继结点。若要删除A的后继结点(假设A存在后继结点),则需修改指针的操作为()。


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

  • 第9题:

    设有一个不带头结点的单向链表,头指针为head,结点类型为NODE,每个结点包含一个数据域data和一个指针域next,该链表有两个结点,p指向第二个结点(尾结点),按以下要求写出相应语句。把该结点插入链表的尾部,释放指针s的指向。


    正确答案: P->next=s;
    S->next=NULL;
    free(s)

  • 第10题:

    填空题
    设单链表中指针p 指向结点A,q指针指向其后继结点。若要删除A的后继结点(假设A存在后继结点),则需修改指针的操作为()。

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

  • 第11题:

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

    B


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

  • 第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题:

    双链表的每个结点 包括两个指针域。其中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结点。

  • 第14题:

    在双向循环链表中,在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

  • 第15题:

    在双向循环链表中,在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

  • 第16题:

    【题目描述】

     (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;

     

     

     


    正确答案:D

     

  • 第17题:

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


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

  • 第18题:

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


    正确答案:错误

  • 第19题:

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


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

  • 第20题:

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


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

  • 第21题:

    双链表的每个结点包括两个指针域。其中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

  • 第22题:

    单选题
    设p为指向双向循环链表中某个结点的指针,p所指向的结点的两个链域分别用p->llink和p->rlink表示,则下列等式中()成立。
    A

    p=p->llink

    B

    p=p->rlink

    C

    p=p->llink->llink

    D

    p=p->llink->rlink


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

  • 第23题:

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

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