用顺序存储方式来存储的,就是顺序栈。
存储方式:同一般线性表的顺序存储结构完全相同
李用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素。栈底一般在低地址端口。
附设 top 指针,指示栈顶元素在顺序栈中的位置。
另设 base 指针,指示栈底元素在顺序栈中的位置。

但是!!!!!为了方便操作,通常 top 指示真正的栈顶元素之上的下标地址,也就是比 an 高一位的下标地址。
另外,用 stacksize 表示栈可用的最大容量。
第一个元素存放在下标为 0 的位置,最后一个元素存放在下标为 n-1 的位置
---------------------------------------------------------------------------------

这个栈里最多能放四个值,即最大容量为4,这个栈一开始没有存放元素,也就是一个空栈。
top == base 是栈空标志
入栈:(元素A进栈)

这时 top 指针向后移动一格,移动到下标为1的位置。
接着 B,C,D依次进栈:

注意 top 指向位置,那么判断栈满时,可以如下:top - base == stacksize
不发生溢出的情况下,top - base ≤ stacksize
栈满时的处理方法:
① 报错,返回操作系统
② 分配更大的空间,作为栈的存储空间,将原栈的内容移入新栈(一般不采用这种方式,耗费时间过多)
出栈:每出栈一个,top指针下移一格

-------------------------------------------------------------------------------------
使用数组作为顺序栈的存储方式的特点:简单方便、但易产生溢出(数组大小固定)
上溢(overflow):栈已经满,又要压入元素
下溢(underflow):栈已经空,还要弹出元素
注:上溢是一种错误,使问题的处理无法进行;而下溢一般认为是一种结束条件,即问题处理结束。
