更多“实现单链表的初始化,插入、删除、访问等基本操作。 单链表为带头结点的单链表结构。”相关问题
  • 第1题:

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

    A.删除单链表中的第一个元素
    B.删除单链表中的最后一个元素
    C.在单链表第一个元素前插入一个新元素
    D.在单链表最后一个元素后插入一个新元素

    答案:B
    解析:
    在单链表中要删除最后一个元素必须找到尾结点的前驱结点的指针。由于单链表只能访问结点的下一个结点,所以根据尾指针不能够直接找到它的前驱结点,只有从头开始依次向下找到尾结点的前驱结点。所以删除单链表中的最后一个元素与链表的长度有关。

  • 第2题:

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

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

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

  • 第3题:

    某带头结点的单链表的头指针为head,判定该链表为空的条件是()


    正确答案:head->next==NULL

  • 第4题:

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

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

    正确答案:D

  • 第5题:

    与单链表相比,双链表的优点之一是()。

    • A、插入、删除操作更简单
    • B、可以进行随机访问
    • C、可以省略表头指针或表尾指针
    • D、顺序访问相邻结点更灵活

    正确答案:D

  • 第6题:

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

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

    正确答案:D

  • 第7题:

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


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

  • 第8题:

    在单链表中,要访问某个结点,只要知道该结点的指针即可;因此,单链表是一种随机存储结构。


    正确答案:错误

  • 第9题:

    便于插入和删除操作的是()。

    • A、静态链表
    • B、单链表
    • C、顺序表
    • D、双链表
    • E、循环链表

    正确答案:A,B,D,E

  • 第10题:

    多选题
    便于插入和删除操作的是()。
    A

    静态链表

    B

    单链表

    C

    顺序表

    D

    双链表

    E

    循环链表


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

  • 第11题:

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

     单链表

    B

     双链表

    C

     单循环链表

    D

     带尾指针的单循环链表


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

  • 第12题:

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

    单链表

    B

    带头指针的单循环链表

    C

    双链表

    D

    带尾指针的单循环链表


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

  • 第13题:

    在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度都是O(n)。

    A.遍历链表和求链表的第i个结点
    B.在地址为P的结点之后插入一个结点
    C.删除开始结点
    D.删除地址为P的结点的后继结点

    答案:A
    解析:
    A项,由于单链表是非随机存取的存储结构,遍历链表和求链表的第i个结点都必须从头指针出发寻找,其时间复杂度为0(n);B项,由于已知待插入结点的前驱结点,可以直接实现插入,其时间复杂度为0(1);CD两项,可以直接实现删除操作,其时间复杂度为O(1)。

  • 第14题:

    若线性表最常用的操作是在最后一个元素之后插入一个结点和删除最后一个结点,则采用()存储方式节省时间。

    • A、单链表;
    • B、双向链表;
    • C、单循环链表;
    • D、带头结点的双循环链表;

    正确答案:D

  • 第15题:

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

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

    正确答案:D

  • 第16题:

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

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

    正确答案:B

  • 第17题:

    编写算法,实现带头结点单链表的逆置算法。


    正确答案: voidinvent(Lnode*heaD.
    {Lnode*p,*q;
    if(!head->next)returnERROR;
    p=head->next;q=p->next;p->next=NULL;
    while(q)
    {p=q;q=q->next;p->next=head->next;head->next=p;}
    }

  • 第18题:

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

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

    正确答案:D

  • 第19题:

    某带头结点的单链表的头指针head,判定该单链表非空的条件()。


    正确答案:head->next!=Null

  • 第20题:

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

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

    正确答案:D

  • 第21题:

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

    单链表

    B

    给出表头指针的单循环链表

    C

    双链表

    D

    带头结点的双循环链表


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

  • 第22题:

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

    单链表

    B

    单循环链表

    C

    带尾指针的单循环链表

    D

    带头结点的双循环链表


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

  • 第23题:

    填空题
    某带头结点的单链表的头指针head,判定该单链表非空的条件()。

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

  • 第24题:

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

    单链表;

    B

    双向链表;

    C

    单循环链表;

    D

    带头结点的双循环链表;


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