niusouti.com

栈的特点是后进先出,若用单链表作为栈的存储结构,并用头指针作为栈顶指针,则( )。A.入栈和出栈操作都不需要遍历链表 B.入栈和出栈操作都需要遍历链表 C.入栈操作需要遍历链表而出栈操作不需要 D.入栈操作不需要遍历链表而出栈操作需要

题目
栈的特点是后进先出,若用单链表作为栈的存储结构,并用头指针作为栈顶指针,则( )。

A.入栈和出栈操作都不需要遍历链表
B.入栈和出栈操作都需要遍历链表
C.入栈操作需要遍历链表而出栈操作不需要
D.入栈操作不需要遍历链表而出栈操作需要

相似考题
更多“栈的特点是后进先出,若用单链表作为栈的存储结构,并用头指针作为栈顶指针,则( )。”相关问题
  • 第1题:

    假设用一个长度为50的数组(数组元素的下标为0~49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有( )个元素。


    正确答案:20
    20

  • 第2题:

    下列叙述中正确的是

    A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

    B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

    C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

    D.上述三种说法都不对


    正确答案:C
    解析:栈是限定在一端进行插入与删除的线性表。通常用指针top来表示栈顶的位置,用指针bottom指向栈底,在栈中,栈是按照先进后出的原则组织数据的,栈顶指针动态反映了栈中元素的变化情况。

  • 第3题:

    下列叙述中正确的是( )。

    A.在栈中,棱中元素随栈底指针与栈顶指针的变化而动态变化

    B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

    C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

    D.上述三种说法都不对


    正确答案:C
    栈是限制仅在表的一端进行插入和删除的运算的线性表,通常称插入、删除的这一端为栈顶,男一端称为栈底。

  • 第4题:

    用链表作为栈的存储结构时,若要入栈操作成功,则(38)。

    A.必须先判断是否栈满

    B.必须先判断是否栈空

    C.必须先判断栈顶元素的类型

    D.必须成功申请到入栈元素所需结点


    正确答案:D
    本题考查数据结构基础知识。栈的修改要求是仅在表尾进行插入和删防操作,元素间的关系仍是线性的。对于删除操作(即出栈),无论在何种存储方式下实现该运算,栈不为空才能操作成功。对于插入操作(即入栈),要求为新加入的元素准备好存储空间,在链式存储方式下,不存在栈满的情形,只需判断是否为新元素成功申请到需要的结点。

  • 第5题:

    以下关于栈的叙述错误的是(  )。


    A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

    B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

    C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

    D.上述三种说法都不对

    答案:A,B,D
    解析:
    栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。当有新元素进栈时,栈顶指针向上移动;当有元素出栈时,栈项指针向下移动。在栈中栈底指针不变,栈中元素随栈顶指针的变化而动态变化。可见,C项表述正确。故选ABD。

  • 第6题:

    在存储器堆栈结构中,堆栈指针SP的内容是()。

    • A、栈顶单元地址
    • B、栈底单元地址
    • C、栈顶单元内容
    • D、栈底单元内容

    正确答案:A

  • 第7题:

    在一个链式栈中,若栈顶指针等于NULL则为(),在一个链式队列中,若队头指针与队尾指针的值相同,则表示该队列为()或该队列()。


    正确答案:空栈;空;只含有一个结点

  • 第8题:

    如果以链表作为栈的存储结构,则退栈操作时()

    • A、必须判别栈是否满
    • B、判别栈元素的类型
    • C、必须判别栈是否空
    • D、对栈不作任何判别

    正确答案:C

  • 第9题:

    在一个顺序栈中,若栈顶指针等于(),则为空栈;若栈顶指针等于(),则为满栈。


    正确答案:–1;StackMaxSize-1

  • 第10题:

    单选题
    设用链表作为栈的存储结构则退栈操作(  )。
    A

    必须判别栈是否为满

    B

    必须判别栈是否为空

    C

    判别栈元素的类型

    D

    对栈不作任何判别


    正确答案: B
    解析:

  • 第11题:

    单选题
    设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为(  )。
    A

    30

    B

    29

    C

    20

    D

    19


    正确答案: A
    解析:
    栈是一种特殊的线性表,它所有的插入与删除操作都限定在表的同一端进行。入栈运算即在栈顶位置插入一个新元素,退栈运算即取出栈顶元素赋予指定变量。在内存中,栈的增大方向是地址递减,元素依次存储在单元30:49中,个数为:49-30+1=20个。答案选择C选项。

  • 第12题:

    单选题
    下列叙述中正确的是(  )。
    A

    在栈中,栈中的元素随栈底指针与栈顶指针的变化而动态变化

    B

    在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

    C

    在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

    D

    上述三种说法都不对


    正确答案: D
    解析:
    栈中元素遵循“先进后出”的原则。入栈和出栈都是对栈顶指针操作,因此,栈底指针不变,栈中元素随栈顶指针的变化而动态变化。答案选择C选项。

  • 第13题:

    假设用-个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有的元素个数为( )。

    A.50

    B.19

    C.1

    D.20


    正确答案:B
    当前栈中的所有元素的个数就是用栈底指针减去栈顶指针。

  • 第14题:

    假设用一个长度为50的数组成(数组元素的下标从0到49)作为栈的存储窨,栈底指标bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【 】个元素。


    正确答案:20
    20 解析:栈是限定在一端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈项元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。即栈是按照“先进后出”或“后进先出”的原则组织数据的,因此,栈也被称为“先进后出”表或“后进先出”表。通常用指针top来指示栈顶的位置,用指针bottom指向栈底。由题意可知栈顶指针top=30,bottom=49,则栈中具有的元素应该为bottom-top+1即49-30+1=20。

  • 第15题:

    若栈采用链式存储且仅设头指针,则( )时入栈和出栈操作最方便。

    A.采用不含头结点的单链表且栈顶元素放在表尾结点B.采用不含头结点的单链表且栈顶元素放在表头结点C.采用含头结点的单循环链表且栈顶元素随机存放在链表的任意结点D.采用含头结点的双向链表且栈顶元素放在表尾结点


    正确答案:B

  • 第16题:

    假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【1】个元素。


    正确答案:
    20

  • 第17题:

    用链表作为栈的存储结构时,若要入栈操作成功,则( )。

    A.必须先判断是否栈满
    B.必须先判断是否栈空
    C.必须先判断栈顶元素的类型
    D.必须成功申请到入栈元素所需结点

    答案:D
    解析:
    本题考查数据结构基础知识。
    栈的修改要求是仅在表尾进行插入和删除操作,元素间的关系仍是线性的。对于删除操作(即出栈),无论在何种存储方式下实现该运算,栈不为空才能操作成功。对于插入操作(即入栈),要求为新加入的元素准备好存储空间,在链式存储方式下,不存在栈满的情形,只需判断是否为新元素成功申请到需要的结点。

  • 第18题:

    如果以链表作为栈的存储结构,则出栈操作时()

    • A、必须判别栈是否满
    • B、必须判别栈是否空
    • C、必须判别栈元素类型
    • D、队栈可不做任何判别

    正确答案:B

  • 第19题:

    以链表作为栈的存储结构,出栈操作必须判别栈空的情况。


    正确答案:正确

  • 第20题:

    设用链表作为栈的存储结构则退栈操作()

    • A、必须判别栈是否为满
    • B、必须判别栈是否为空
    • C、判别栈元素的类型
    • D、对栈不作任何判别

    正确答案:B

  • 第21题:

    填空题
    在一个顺序栈中,若栈顶指针等于(),则为空栈;若栈顶指针等于(),则为栈满。

    正确答案: —1,maxsize —1
    解析: 暂无解析

  • 第22题:

    单选题
    下列叙述中正确的是(  )。
    A

    在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

    B

    在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

    C

    在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

    D

    在栈中,栈中元素不会随栈底指针与栈顶指针的变化而动态变化


    正确答案: D
    解析:
    栈中元素遵循“先进后出”的原则。入栈和出栈都是对栈顶指针操作,因此,栈底指针不变,栈中元素随栈顶指针的变化而动态变化。答案选择C选项。

  • 第23题:

    单选题
    下列叙述中正确的是(  )。
    A

    有两个指针域的链表称为二叉链表

    B

    循环链表是循环队列的链式存储结构

    C

    带链的栈有栈顶指针和栈底指针,因此又称为双重链表

    D

    结点中具有多个指针域的链表称为多重链表


    正确答案: C
    解析:
    A项错误,双向链表不是二叉链表,但也是有两个指针域;B项错误,循环链表与循环队列是不同的存储结构,循环队列是一种顺序存储结构。C项错误,带链的栈是单链表,结点只有一个指针域。答案选择D选项。