niusouti.com
参考答案和解析
正确答案: A
解析:
更多“在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行(  )。”相关问题
  • 第1题:

    某单循环链表头指针为head且表长大于1,指针p指向表中某个结点,若p→next→next= head,则(11)。

    A.p指向头结点

    B.p指向尾结点

    C.*p的直接后继是头结点

    D.*P的直接后继是尾结点


    正确答案:D
    解析:因为p→next→next=head,所以p→next是尾结点,即*P的直接后继是尾结点。

  • 第2题:

    在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行____。

    A.q一>next=p一>next;p一>next=q;

    B.q一>next=p一>next;p一>next=q;

    C.p一>next=q一>next;q=p;

    D.p一>next=q一>next;q一>next=p;


    正确答案:D

  • 第3题:

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

  • 第4题:

    在循环双向链表中表头结点的左指针域指向()结点,最后一个结点的右指针域指向()结点。


    正确答案:表尾;表头

  • 第5题:

    在带有头结点的单链表HL中,要在首元元素之前插入一个由指针p指向的结点,则应执行p->next=HL->next及()操作。


    正确答案:HL->next=p

  • 第6题:

    在一个表头指针为ph的单链表中,若要向表头插入一个由指针p指向的结点,则应执行()操作。

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

    正确答案:D

  • 第7题:

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


    正确答案:错误

  • 第8题:

    在一个单链表HL中,若要在指针q所指的结点的后面插入一个由指针p所指的结点,则执行()

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

    正确答案:C

  • 第9题:

    设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作()。


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

  • 第10题:

    在一个头指针为ph的单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行()操作。

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

    正确答案:B

  • 第11题:

    单选题
    在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行(  )。
    A

    p->next=HL->next;HL->next=p;

    B

    p->next=HL;HL=p;

    C

    p->next=HL;p=HL;

    D

    HL=p;p->next=HL;


    正确答案: B
    解析:

  • 第12题:

    单选题
    在一个表头指针为ph的单链表中,若要向表头插入一个由指针p指向的结点,则应执行()操作。
    A

    ph=p;p->next=ph

    B

    p->next=Ph;p=ph

    C

    p->next=ph->next;ph=p

    D

    p->next=ph->next;ph->next=p


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

  • 第13题:

    在一个单链表HL中,若要向表头插入一个由指针P指向的结点,则执行(13)。

    A.HL=p;p→next=HL;

    B.p→next=HL;HL=p;

    C.p→next=HL;p=HL;

    D.P→next=HL→next;HL→next=p;


    正确答案:C
    解析:单链表头结点为HL,向表头插入一个由指针P指向的结点时,可以先让p指向HL,然后再将p赋给HL即可。

  • 第14题:

    阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。
    [说明]
    函数ReverseList(LinkList headptr)的功能是将含有头结点的单链表就地逆置。处理思路是将链表中的指针逆转,即将原链表看成由两部分组成:已经完成逆置的部分和未完成逆置的部分,令s指向未逆置部分的第一个结点,并将该结点插入已完成部分的表头(头结点之后),直到全部结点的指针域都修改完成为止。
    例如,某单链表如图1所示,逆置过程中指针s的变化情况如图2所示。

    链表结点类型定义如下:

    typedef struct Node{ int data; Struct Node *next; }Node,*LinkList; [C函数] void ReverseList(LinkList headptr) { //含头结点的单链表就地逆置,headptr为头指针 LinkList p,s; if(______) return; //空链表(仅有头结点)时无需处理 P=______; //令P指向第一个元素结点 if(!P->next) return; //链表中仅有一个元素结点时无需处理 s=p->next; //s指向第二个元素结点 ______ =NULL; //设置第一个元素结点的指针域为空 while(s){ p=s; //令p指向未处理链表的第一个结点 s= ______; p->next=headptr->next; //将p所指结点插入已完成部分的表头 headptr->next= ______; } }


    答案:
    解析:
    !headptr->next,或!headptr||!headptr->next,或其等价形式
    headptr->next
    headptr->next->next,或p->next,或其等价形式
    s->next,或p->next, 或其等价形式
    p

  • 第15题:

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

  • 第16题:

    在以HL为表头指针的带表头附加结点的单链表和循环单链表中,链表为空的条件分别为()和()。


    正确答案:HL->next==NULL;HL->next==HL

  • 第17题:

    在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()

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

    正确答案:B

  • 第18题:

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


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

  • 第19题:

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

  • 第20题:

    设有一个头指针为head的单向循环链表,p指向链表中的结点,若p->next=(),则p所指结点为尾结点。


    正确答案:head

  • 第21题:

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


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

  • 第22题:

    单选题
    在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()
    A

    HL=p;p->next=HL;

    B

    p->next=HL;HL=p;

    C

    p->next=HL;p=HL;

    D

    p->next=HL->next;HL->next=p;


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

  • 第23题:

    填空题
    在带有头结点的单链表HL中,要在首元元素之前插入一个由指针p指向的结点,则应执行p->next=HL->next及()操作。

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

  • 第24题:

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

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