若栈顶指针指向栈顶元素,当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为()。A、n-1B、nC、n+1D、n/2

题目

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

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

相似考题
更多“若栈顶指针指向栈顶元素,当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为()。A、n-1B、nC、n+1D、n/2”相关问题
  • 第1题:

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

    A.入栈运算只需将新元素插到栈顶指针指向的位置

    B.出栈运算只需将栈顶元素赋给一个指定变量

    C.出栈运算与读栈顶元素是相同的操作

    D.读栈顶元素不删除栈顶元素


    正确答案:D
    解析:入栈运算需先将栈顶指针加1,然后将新元素插到栈顶指针指向的位置,选项A是错误的。出栈运算需将栈顶元素赋给一个指定变量,然后将栈顶指针减1,选项B是错误的。出栈运算与读栈顶元素不同之处在于读栈顶元素不删除栈顶元素。答案是选项D。

  • 第2题:

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

    A.50

    B.19

    C.1

    D.20


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

  • 第3题:

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


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

  • 第4题:

    当利用大小为N的数组顺序存储一个栈时,假定用栈顶指针top=N+1表示栈空,则向这个栈插入一个元素时,首先应执行______语句修改top指针。

    A.top:=top+1

    B.top:=top-1

    C.top:=0

    D.top:=N


    正确答案:B
    解析:由题可知该题栈底为高地址,因此向栈中插入一数据时指向栈顶的指针减1。

  • 第5题:

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

    A.入栈运算只须将新元素插到栈顶指针指向的位置

    B.出栈运算只须将栈顶元素赋给一个指定变量

    C.出栈运算与读栈顶元素是相同的操作

    D.读栈顶元素不删除栈顶元素


    正确答案:D
    解析:入栈运算须先将栈顶指针加1,然后将新元素插到栈顶指针指向的位置,A是错误的。出栈运算须将栈顶元素赋给一个指定变量,然后将栈顶指针减1,B是错误的。出栈运算与读栈顶元素不同之处在于读栈顶元素不删除栈顶元素。答案是D。

  • 第6题:

    设用一维数组A[1..n)来存储一个栈,令A[n]为栈底,用整型变量T指示当前栈顶位置, A[T]为栈顶元素。当从栈中弹出一个元素时,变量T的变化为( )。

    A.T:=T+1

    B.T:=T-1

    C.T不变

    D.T:=n


    正确答案:A

  • 第7题:

    在作进栈运算时,应先判别栈是否(),在作退栈运算时应先判别栈是否()。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为()。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的()分别设在这片内存空间的两端,这样,当()时,才产生上溢。


    正确答案:满;空;n;栈底;两个栈的栈顶在栈空间的某一位置相遇

  • 第8题:

    对于一个栈作进栈运算时,应先判别栈是否为(),作退栈运算时,应先判别栈是否为(),当栈中元素为m时,作进栈运算时发生上溢,则说明栈的可用最大容量为()。为了增加内存空间的利用率和减少发生上溢的可能性,由两个栈共享一片连续的内存空间时,应将两栈的()分别设在这片内存空间的两端,这样只有当()时才产生上溢。


    正确答案:栈满;栈空;m;栈底;两个栈的栈顶在栈空间的某一位置相遇

  • 第9题:

    36、对于一个栈做进栈运算时,应先判断栈是否为(),做出栈运算时,应先判断别栈是否(),当栈中元素为m时,做栈运算时发生上溢,则说明栈的可用最大容量为()。为了增加内存空间的利用率和减少发生上溢的可能性,由两个栈共享一片连续的内存空间时,应将两栈的()分别设在这片内存空间的两端,这样只有当()时才发生上溢。


    正确答案:栈满;栈空;m;栈底;两栈和栈顶空间的某一个位置

  • 第10题:

    当栈中已经有MAXNUM个元素时,如果再作进栈运算,则会产生溢出,通常称为上溢。


    正确答案:正确

  • 第11题:

    单选题
    假定利用数组a[N]顺序存储一个栈,用top表示栈顶元素的下标位置,用top= =-1表示栈空,用top= =N - 1表示栈满,则该数组所能存储的栈的最大长度为()
    A

    N - 1

    B

    N

    C

    N+1

    D

    N十2


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

  • 第12题:

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

    30

    B

    29

    C

    20

    D

    19


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

  • 第13题:

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


    正确答案:20
    20

  • 第14题:

    在一个可存放n个数据元素的顺序栈中,假设以高地址端为栈底,以top为栈顶指针,当向栈中压入一个数据元素时,top的变化是()。

    A、不变

    B、top=n

    C、top++

    D、top--


    正确答案:D

  • 第15题:

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


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

  • 第16题:

    a、b、c、d、e、f依次进栈、进栈、出栈、进栈、进栈、出栈、进栈的操作,则操作完后,栈S的栈顶元素为()。

    A.a

    B.b

    C.d


    答案:C

  • 第17题:

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


    正确答案:
    20

  • 第18题:

    假定利用数组a[N]顺序存储一个栈,用top表示栈顶元素的下标位置,用top= =-1表示栈空,用top= =N - 1表示栈满,则该数组所能存储的栈的最大长度为()

    • A、N - 1
    • B、N
    • C、N+1
    • D、N十2

    正确答案:B

  • 第19题:

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

    • A、e=s[top--];
    • B、s[--top]=e;
    • C、e=s[++top];
    • D、s[++top]=e;

    正确答案:A

  • 第20题:

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

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

    正确答案:B

  • 第21题:

    假定利用数组a[m]顺序存储一个栈,用top表示栈顶指针,用top= =-1表示空,该数组所能存储的栈的最大长度为m,当()时,再做进栈运算会发生“上溢”。

    • A、top == m - 1
    • B、top == 0
    • C、top == m - 2
    • D、top == 1

    正确答案:A

  • 第22题:

    填空题
    36、对于一个栈做进栈运算时,应先判断栈是否为(),做出栈运算时,应先判断别栈是否(),当栈中元素为m时,做栈运算时发生上溢,则说明栈的可用最大容量为()。为了增加内存空间的利用率和减少发生上溢的可能性,由两个栈共享一片连续的内存空间时,应将两栈的()分别设在这片内存空间的两端,这样只有当()时才发生上溢。

    正确答案: 栈满,栈空,m,栈底,两栈和栈顶空间的某一个位置
    解析: 暂无解析

  • 第23题:

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

    n-1

    B

    n

    C

    n+1

    D

    n/2


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

  • 第24题:

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

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

    B

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

    C

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

    D

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


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