根据题意,栈空间如图所示:
也就是说,栈是向上增长的,每次压入一个元素,栈的TOP指针向上移动一位。
当压入第一个元素时,TOP指针指向m+1-1 = m
当压入第二个元素时,TOP指针指向m+1-2 = m-1
......
以此类推,
当压入第N个元素时,TOP指针指向m+1-N = 20
则N = m+1-20 = m-19
选C。
栈的顺序存储空间为S(1:50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则栈顶-栈底=20-0=20个元素。
栈是向上增长的,每次压入一个元素,栈的TOP指针向上移动一位。当压入第一个元素时,TOP指针指向m+1-1 = m当压入第二个元素时,TOP指针指向m+1-2 = m-1。
以此类推,当压入第N个元素时,TOP指针指向m+1-N = 20则N = m+1-20 = m-19。栈的顺序存储空间为S(1:50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则栈顶-栈底=20-0=20个元素。
一般平时是从栈底向栈顶压,这道题目中是倒过来的,这个栈是从栈顶向栈底压的,所以结果是C。top是指向最后一个元素上面的那个,所以是m+1 。