一、顺序栈的定义
上篇我们讲到栈是一种先进后出的线性结构,并且讲了链式栈的构造。这篇我们讲顺序栈的构造。
顺序栈:使用一片连续的数组空间来进行存储,在这里,我们定义栈为空的时候栈顶指针top=-1,栈底指针bottom = -1;那么假设数组a[max],则判断栈为满条件为top = max- 1;栈空条件为top = -1。
二、顺序栈的节点类型构造
定义一个结构体为顺序栈的节点类型,MAX = 100 ----栈的最大容量
栈顶指针 top 栈底指针 bottom
三、顺序栈的相关操作
1.创建一个空栈
2.判断栈是否为空,为空返回1,非空返回0
3.判断栈是否为满,为满返回1,未满返回0
4.入栈,从栈顶插入一个新元素
5.出栈,从栈顶删除一个元素,并将该元素的数据通过形参指针返回给主调函数
6.获取栈顶元素,只获取元素的数据,不删除元素
7.清空栈
8.销毁栈
四、测试
先创建一个顺序栈,从键盘输入依次进栈,输入0表示结束(人为约定)
再依次出栈。
结果:
可以看到满足栈先进后出,后进先出的特性。