栈的初态为什么是top=m+1?(top是1还是0)

2023-06-03 05:36:35

提及栈的初态为什么是top=m+1?以及top是1还是0的相关内容,许多人不太了解,来看看小莲的介绍吧!

栈的初态为什么是top=m+1?

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

  • 标签: