设双向循环链表中结点的结构为(data, prior, next)。若想在指针p所指结点之后插入指针s所指结点,则应执行下列哪一个操作?A.p->next=s;s->prior=p;p->next->prior=s;s->next=p->next;B.s->prior=p;s->next=p->next;p->next->prior=s;p->next=s;C.s->prior=p;s->next=p->next;p->next=s;p->next->prior=s;D.p->next=s;p->next

题目

设双向循环链表中结点的结构为(data, prior, next)。若想在指针p所指结点之后插入指针s所指结点,则应执行下列哪一个操作?

A.p->next=s;s->prior=p;p->next->prior=s;s->next=p->next;

B.s->prior=p;s->next=p->next;p->next->prior=s;p->next=s;

C.s->prior=p;s->next=p->next;p->next=s;p->next->prior=s;

D.p->next=s;p->next->prior=s;s->prior=p;s->next=p->next;


相似考题
更多“设双向循环链表中结点的结构为(data, prior, next)。若想在指针p所指结点之后插入指针s所指结点,则应执行下列哪一个操作?”相关问题
  • 第1题:

    设线性链表中结点的结构为(data,next)。已知指针q所指结点是指针结点p的直接前驱,若在*q与*p之间插入结点*s,则应执行下列()操作。

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

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

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

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


    正确答案:B

  • 第2题:

    设单链表中结点的结构为(dara,link)。已知指针q所指结点是指针p所指结点的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作?

    A.s↑.link:=p↑.link;p↑.link:=s

    B.q↑.link:=s;s↑.link:=p

    C.p↑.link:=s↑.link;s↑.link:=p

    D.p↑.link:=s;s↑.link:=q


    正确答案:B
    解析:在单链表中两个节点之间插入一个新结点,耍把前面结点的指针域指向新插入的结点(q↑.link=s),把新插入的结点的指针域指向后面的结点(s↑.link=p)。

  • 第3题:

    在双向循环链表中,在p所指的结点之后插入指针f所指的新结点,其操作步骤是()。


    答案:D
    解析:
    在双向循环链表中。在p所指的结点之后插入指针f所指的新结点的操作步骤为:改变f的前驱指针域,使其指向p;然后改变f的后继指针域,使其指向p的后继;接下来修改p的后继结点得前驱指针域,指向f,最后将f的地址付给p的后继指针。具体操作为:f—>pnor=p;f—>next=p—>next;p—>next—>prior=f;P—>next=f。

  • 第4题:

    双向循环链表结点的数据类型为: 设p指向表中某一结点,要显示p所指结点的直接前驱结点的数据元素,可用操作()。

    Aprintf(“%d”,p->next->data);

    Bprintf(“%d”,p->prior->data);

    Cprintf(“%d”,p->prior->next);

    Dprintf(“%d”,p->data);


    B

  • 第5题:

    在双向循环链表中,在p所指的结点之后插入s指针所指的结点,其操作是S->next=p->next;()=s;s->prior=();p->next=s;


    正确答案:p->next->prior;p

  • 第6题:

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


    正确答案:p->next=s

  • 第7题:

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


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

  • 第8题:

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


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

  • 第9题:

    在一个双向链表中删除指针p所指向的结点时,需要对p->next->prior指针域赋值为()


    正确答案:p->prior

  • 第10题:

    填空题
    在双向循环链表中,在p所指的结点之后插入s指针所指的结点,其操作是S->next=p->next;()=s;s->prior=();p->next=s;

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

  • 第11题:

    问答题
    设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p->next=s;s->next=p->next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写?

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

  • 第12题:

    填空题
    要在一个单向链表中p所指向的结点之后插入一个S所指向的新结点,若链表中结点的指针域为next,可执行()和p->next==s的操作。

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

  • 第13题:

    设单链表中结点的结构为已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作______。

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

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

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

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


    正确答案:B

  • 第14题:

    设单链表中结点的结构为(data,link)。已知指针q所指结点是指针p所指结点的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作?

    A.s↑.link:=p↑.link;p↑.link:=s

    B.q↑.link:=s;s↑.link:=p

    C.p↑.link:=s↑.link;s↑.link:=p

    D.p↑.link:=s;s↑.link:=q


    正确答案:B
    解析:在单链表中两个节点之间插入一个新结点,要把前面结点的指针域指向新插入的结点(q↑.link=s),把新插入的结点的指针域指向后面的结点(e↑.link=p)。

  • 第15题:

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

  • 第16题:

    设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p->next=s;s->next=p->next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写?


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

  • 第17题:

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


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

  • 第18题:

    在一个单链表中,己知指针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

  • 第19题:

    要在一个单向链表中p所指向的结点之后插入一个S所指向的新结点,若链表中结点的指针域为next,可执行()和p->next==s的操作。


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

  • 第20题:

    在双向循环表中,在p所指的结点之后插入指针f所指的结点,其操作为F->next=p->next;()()。


    正确答案:p->next->prior=f;f->prior=p

  • 第21题:

    单选题
    在一个单链表中,己知指针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
    解析: 暂无解析

  • 第22题:

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

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

  • 第23题:

    填空题
    在双向循环表中,在p所指的结点之后插入指针f所指的结点,其操作为F->next=p->next;()()。

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

  • 第24题:

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

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