栈是一种先进后出的线性数据结构,只能对它的一端操作,类似于枪械的弹夹。据此可以用一个数组来实现堆栈。具体方法是:用指向第一个元素(栈底)的base下标,和指向最后一个元素(栈顶)的top下标实现。两个下标之间的元素才是栈中元素,所以入栈包含对数组元素赋值,和对下标top和base的操作(base只有空栈时才操作)。出栈只是操作两个下标,并不是真正删除数组中元素。另外,入栈时数组容量不够,入栈操作中要有动态增加数组容量的方法,具体实现见另一篇博文:
Java数组动态增加容量。源码如下:
487

被折叠的 条评论
为什么被折叠?