设rear是指向非空带头结点的循环单链表的尾指针,则删除链表第一个结点的操作可表示为(22)。A.p=rear;rear=rear→next;free(p);B.rear=rear→next;free(p);C.rear=rear→next→next;free(p);D.p=rear→next→next;rear→next=p→next;free(p);

题目

设rear是指向非空带头结点的循环单链表的尾指针,则删除链表第一个结点的操作可表示为(22)。

A.p=rear;rear=rear→next;free(p);

B.rear=rear→next;free(p);

C.rear=rear→next→next;free(p);

D.p=rear→next→next;rear→next=p→next;free(p);


相似考题
更多“设rear是指向非空带头结点的循环单链表的尾指针,则删除链表第一个结点的操作可表示为(22)。A.p=re ”相关问题
  • 第1题:

    在一个长度为n(n>1)的带头结点的单链表head上,另设有尾指针r(指向尾结点),执行()操作与链表的长度有关。

    A.删除单链表中的第一个元素

    B.删除单链表中的尾结点

    C.在单链表的第一个元素前插入一个新结点

    D.在单链表的最后一个元素后插入一个新结点


    参考答案:B

  • 第2题:

    设rear是指向非空带头结点的循环单链表的尾指针,则删除起始结点的操作可表示为( )

    A.s=rear;

    B.rear=rear—>next; rear=rear—>next; free(rear); free(s);

    C.rear=rear—>next—>next;

    D.s=rear—>next—>next; free(rear); rear—>next—>next=s—>next; free(s);


    正确答案:D

  • 第3题:

    在长度为n(Il>1)的()上,删除第一个元素.其时间复杂度为O(n)。

    A.只有首结点指针的不带头结点的循环单链表
    B.只有尾结点指针的不带头结点的循环单链表
    C.只有尾结点指针的带头结点的循环单链表
    D.只有头结点的循环单链表

    答案:A
    解析:
    只有首结点指针的不带头结点的循环单链表删除第一个元素,需要遍历整个链表,因此A项的时间复杂度为O(n),BCD三项的时间复杂度都为O(1)。

  • 第4题:

    设rear是指向非空带头结点的循环单链表的尾指针,则在起始结点之前插入指针p所指结点的操作可表示为()

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

    正确答案:C

  • 第5题:

    设一个链表最常用的操作是在表尾插入结点和在表头删除结点,则选用下列哪种存储结构效率最高?()

    • A、 单链表
    • B、 双链表
    • C、 单循环链表
    • D、 带尾指针的单循环链表

    正确答案:D

  • 第6题:

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


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

  • 第7题:

    设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用()最节省时间。

    • A、单链表
    • B、单循环链表
    • C、带尾指针的单循环链表
    • D、带头结点的双循环链表

    正确答案:D

  • 第8题:

    单选题
    设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用()最节省时间。
    A

    单链表

    B

    单循环链表

    C

    带尾指针的单循环链表

    D

    带头结点的双循环链表


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

  • 第9题:

    单选题
    设一个链表最常用的操作是在表尾插入结点和在表头删除结点,则选用下列哪种存储结构效率最高?()
    A

     单链表

    B

     双链表

    C

     单循环链表

    D

     带尾指针的单循环链表


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

  • 第10题:

    填空题
    设有一个不带头结点的单向循环链表,结点的指针域为next,指针p指向尾结点,现要使p指向第一个结点,可用语句()。

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

  • 第11题:

    单选题
    设rear是指向非空带头结点的循环单链表的尾指针,则在起始结点之前插入指针p所指结点的操作可表示为()
    A

     p->next = rear->next->next; rear->next = p

    B

     p->next = rear->next;  rear->next->next = p

    C

     p->next = rear->next->next; rear->next->next = p

    D

     p->next = rear->next->next; rear->next->next = p->next


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

  • 第12题:

    单选题
    若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用()存储方式最节省运算时间。
    A

    单链表

    B

    双链表

    C

    带尾指针的单循环链表

    D

    带头结点的双循环链表


    正确答案: D
    解析:

  • 第13题:

    程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、P、q、均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。

    该程序段实现的功能是( )。

    A.首结点成为尾结点

    B.尾结点成为首结点

    C.删除首结点

    D.删除尾结点


    正确答案:A
    循环找到末尾结点,然后赋值给第一个结点,所以选择A)。

  • 第14题:

    设单循环链表中结点的结构为(data,link),且rear是指向非空的带表头结点的单循环链表的尾结点的指针。若想删除链表第一个结点,则应执行下列哪一个操作()。

    A.s=rear;rear=rear->link;deletes;
    B.rear=rear->link;deleterear;
    C.rear=rear->link->link;deleterear;
    D.s=rear->link->link;rear->link->link=s->link;deletes;s为第一个结点硫

    答案:D
    解析:
    若要删除结点需要改变尾指针的指向。

  • 第15题:

    非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。

    Ap==head

    Bp==NULL

    Cp->next==head

    Dp->next==NULL


    C

  • 第16题:

    若链表中最常用的操作是在最后一个结点之后插入一个结点和删除第一个结点,则采用()存储方法最节省时间。

    • A、单链表
    • B、带头指针的单循环链表
    • C、双链表
    • D、带尾指针的单循环链表

    正确答案:D

  • 第17题:

    设rear是指向非空、带头结点的循环单链表的尾指针,则该链表首结点的存储位置是()


    正确答案:rear->next->next

  • 第18题:

    设有一个不带头结点的单向循环链表,结点的指针域为next,指针p指向尾结点,现要使p指向第一个结点,可用语句()。


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

  • 第19题:

    单选题
    设有头指针为head的不带头结点的非空的单向循环链表,指针p指向其尾结点,要删除第一个结点,则可利用下述语句 head=head->next;和()。
    A

    p=head;

    B

    p=NULL;

    C

    p->next=head;

    D

    head=p;


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

  • 第20题:

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

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

  • 第21题:

    单选题
    非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。
    A

    p==head

    B

    p==NULL

    C

    p->next==head

    D

    p->next==NULL


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

  • 第22题:

    单选题
    若链表中最常用的操作是在最后一个结点之后插入一个结点和删除第一个结点,则采用()存储方法最节省时间。
    A

    单链表

    B

    带头指针的单循环链表

    C

    双链表

    D

    带尾指针的单循环链表


    正确答案: C
    解析: 在链表中的最后一个结点之后插入一个结点需要知道终端结点的地址,所以,单链表、带头指针的单循环链表、双链表都不合适,考虑在带尾指针的单循环链表中删除第一个结点,其时间性能是O(1),所以,答案是D。

  • 第23题:

    填空题
    设rear是指向非空、带头结点的循环单链表的尾指针,则该链表首结点的存储位置是()

    正确答案: rear->next->next
    解析: 暂无解析