设栈的顺序存储空间为S(1:m),初始状态为TOP=m+1。现经过一系列入栈与退栈运算后,

2025-02-23 10:10:00
推荐回答(2个)
回答1:

根据题意,栈空间如图所示:

也就是说,栈是向上增长的,每次压入一个元素,栈的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。

回答2:

栈的顺序存储空间为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 。