参考答案和解析
正确答案:D
解析:入栈运算须先将栈顶指针加1,然后将新元素插到栈顶指针指向的位置,A是错误的。出栈运算须将栈顶元素赋给一个指定变量,然后将栈顶指针减1,B是错误的。出栈运算与读栈顶元素不同之处在于读栈顶元素不删除栈顶元素。答案是D。
更多“下列叙述中正确的是()。A.入栈运算只须将新元素插到栈顶指针指向的位置B.出栈运算只须将栈顶元素 ”相关问题
  • 第1题:

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


    正确答案:20
    20

  • 第2题:

    下列关于栈叙述正确的是( )。A.栈顶元素能最先被删除B.栈顶元素最后才能被删除

    下列关于栈叙述正确的是( )。

    A.栈顶元素能最先被删除

    B.栈顶元素最后才能被删除

    C.栈底元素永远不能被删除

    D.以上三种说法都不对


    正确答案:A
    栈是限定在-端进行插入、删除的先入后出的线性表数据结构,栈顶元素最后被插入到栈中,但是最先被删除;而栈底元素最先被插入,最后被删除。

  • 第3题:

    以下( )不是栈的基本运算。 A.从栈顶删除一个元素 B.判断一个栈是否为空 C.在栈中的第i个元素之前插入一个新元素D.读取栈顶元素的值


    正确答案:C
    栈的基本运算有读栈顶元素,判断栈是否为空,在栈顶插入和删除等。栈只能在栈顶进行插入和删除操作。

  • 第4题:

    下列选项中,不是关于栈的基本运算的叙述是______。

    A.从栈顶删除一个元素

    B.判断一个栈是否为空

    C.在栈中的第i个元素之前插入一个新元素

    D.读取栈顶元素的值


    正确答案:C

  • 第5题:

    不是栈的基本运算的叙述是______。

    A.从栈顶删除一个元素

    B.判断一个栈是否为空

    C.在栈中的第i个元素之前插入一个新元素

    D.读取栈顶元素的值


    正确答案:C

  • 第6题:

    若需将一个栈S中的元素逆置,则以下处理方式中正确的是(63)。

    A.将栈S中元素依次出栈并入栈T,然后将栈T中元素依次出栈并进入栈S

    B.直接交换栈顶元素和栈底元素

    C.将栈S中元素依次出栈并入队,然后使该队列元素依次出队并进入栈S

    D.直接交换栈顶指针和栈底指针


    正确答案:C
    解析:栈的运算特点是先入后出。栈的操作一般为初始化栈、元素入栈、元素出栈、判断栈是否为空、取栈顶元素的副本等,对栈中元素的操作应采用栈结构提供的操作接口实现。对于选项A,将栈S中元素依次出栈并入栈T后,栈T中元素的排列正好是原栈S中元素的逆序,再将栈T中元素依次出栈并进入栈S,则栈S中的元素以原次序放置,不能实现栈S中元素逆置的要求。对于选项B,将栈S中元素依次出栈并入队后,队头元素为原栈S的栈顶元素,队尾元素尾原栈S的栈底元素。队列的操作特点是先入先出,因此使该队列元素依次出队并进入栈S后,队头元素就进入栈底,队尾元素称为栈顶,因此可实现将栈S中元素逆置的效果。对于选项C,直接交换栈顶元素与栈底元素既不符合栈结构的操作要求,也达不到逆置栈中元素的要求。对于选项D,直接交换栈顶指针和栈底指针不符合栈结构的操作要求。

  • 第7题:

    下列关于栈的叙述中,正确的是( )。

    A.栈底元素一定是最后入栈的元素

    B.栈操作遵循先进后出的原则

    C.栈顶元素一定是最先入栈的元素

    D.以上三种说法都不对


    正确答案:B
    栈是先进后出,因此,栈底元素是先入栈的元素,栈顶元素是后入栈的元素。

  • 第8题:

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


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

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

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

    D.上述三种说法都不对

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

  • 第9题:

    下列关于栈的叙述中,正确的是()

    • A、栈底元素一定是最后入栈的元素
    • B、栈顶元素一定是最先入栈的元素
    • C、栈操作遵循先进后出的原则
    • D、以上说法均错误

    正确答案:C

  • 第10题:

    向顺序栈中压入新元素时,应当()。

    • A、 先存入元素,再移动栈顶指针
    • B、 先移动栈顶指针,再存入元素
    • C、 先后次序无关紧要
    • D、 同时进行

    正确答案:B

  • 第11题:

    单选题
    在栈的操作中,顺序栈s,栈顶指针是top指向栈顶元素,用e接收出栈元素,则出栈正确的是()
    A

    e=s[top--];

    B

    s[--top]=e;

    C

    e=s[++top];

    D

    s[++top]=e;


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

  • 第12题:

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

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

    B

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

    C

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

    D

    上述三种说法都不对


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

  • 第13题:

    下列叙述中正确的是

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

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

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

    D.上述三种说法都不对


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

  • 第14题:

    栈的基本运算有( )。

    A.入栈

    B.退栈

    C.读栈顶元素

    D.以上都是


    正确答案:D
    解析:栈的基本运算有3种:入栈、退栈与读栈顶元素。入栈运算是指在栈顶位置插入一个新元素。退栈运算是指取出栈顶元素并赋给一个指定的变量。读栈顶元素是指将栈顶元素赋给一个指定的变量。

  • 第15题:

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

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

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

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

    D.以上说法都不正确


    正确答案:C
    栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作,所以选择c。

  • 第16题:

    下列关于栈的叙述中,正确的是( )。

    A.栈底元素一定是最后人栈的元素

    B.栈顶元素一定是最先入栈的元素

    C.栈操作遵循先进后出的原则

    D.以上说法均错误


    正确答案:C
    栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为“先进后出”表,或“后进先出”表,所以选择C。

  • 第17题:

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

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

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

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

    D.上述三种说法都不对


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

  • 第18题:

    下列关于栈叙述正确的是( )。 A.栈顶元素最先能被删除B.栈顶元素最后才能被删除

    下列关于栈叙述正确的是( )。

    A.栈顶元素最先能被删除

    B.栈顶元素最后才能被删除

    C.栈底元素永远不能被删除

    D.栈底元素最先被删除


    正确答案:A
    栈是先进后出的数据结构,所以栈顶元素最后入栈却最先被删除。栈底元素最先人栈却最后被删除。所以选择A。

  • 第19题:

    向顺序栈中压人新元素时,应当

    A.先移动栈顶指针,再存入元素

    B.先存入元素,再移动栈顶指针

    C.先后次序无关紧要

    D.同时进行


    正确答案:A
    解析:栈的顺序存储简称为顺序栈,它是运算受限的顺序表。向顺序栈压人新元素时,应当先移动栈顶指针,再存人元素。

  • 第20题:

    对于顺序栈和链栈,( )不是两者共有的运算特征。

    A.元素后进先出
    B.入栈时需要判断是否栈满
    C.出栈时需要判断是否栈空
    D.每次只能访问栈顶元素

    答案:B
    解析:
    本题考查数据结构基础知识。
    栈的顺序存储(也称为顺序栈)是指用一组地址连续的存储单元依次存储白栈顶到栈底的数据元素,同时附设指针top指示栈顶元素的位置。在顺序存储方式下,需要预先定义或申请栈的存储空间,也就是说栈空间的容量是有限的。因此在顺序栈中,当一个元素入栈时,需要判断是否栈满(即栈空间中是否有空闲单元),若栈满,则元素入栈会发生上溢现象。
    用链表作为存储结构的栈称为链栈,链表中的结点根据需要动态申请,不存在栈满的情况。由于栈中元素的插入和删除仅在栈顶一端进行,因此不必另外设置头指针,链表的头指针就是栈顶指针。
    无论栈采用哪种存储结构,进行出栈操作时都要判断是否栈空,栈为空时无法完成出栈操作。

  • 第21题:

    若栈顶指针指向栈顶元素,当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为()。

    • A、n-1
    • B、n
    • C、n+1
    • D、n/2

    正确答案:B

  • 第22题:

    单选题
    若栈顶指针指向栈顶元素,当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为()。
    A

    n-1

    B

    n

    C

    n+1

    D

    n/2


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

  • 第23题:

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

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

    B

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

    C

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

    D

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


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