求栈中元素的个数?

设栈的顺序存储空间为S(1:m),初始状态为top=m+1,则栈中的数据元素个数为( )。
A)top-m+1
B)m-top+1
C)m-top
D)top-m

因为堆栈的顶部在高位,即m+1,当进入堆栈时,顶部延伸到低位标记,所以当顶部为m时,有一个元素;当m -1时,有2个元素;当它是20时,堆栈中有m- 20 +1 = m-19个元素 
堆栈,也称为stack,是一个具有有限操作的线性表。 

限制是只允许在表的一端进行插入和删除操作。  这一端叫做栈顶,而另一端叫做栈底。

将新元素插入堆栈也称为堆栈推送、堆栈推送或堆栈推送。它将新元素放在堆栈的顶部元素之上,并使其成为堆栈的新顶部元素。

从堆栈中移除元素也称为创建堆栈或移除堆栈。它移除堆栈的顶部元素,以便其相邻元素成为新的顶部元素。

栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-09-20
存储空间为S(1:m),初始状态为top=m+1, 说明栈是"倒过来"存的, 第一个元素存在S(m), 第二个元素存在S(m-1), ..., 所以栈的元素个数是m+1-top
第2个回答  2020-09-20

这题选b,分析如下图所示

本回答被提问者采纳