1、到底什么是栈?
官方理解:
栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
通俗来说:
栈就是一种特殊的线性表。只允许在固定的一端进行插入和删除,插入的一端称为栈顶,另外一端为栈底。栈中的元素遵守 “后进先出” 的原则。栈可以用顺序存储,也可以用链式存储,分别称为顺序栈和链栈。
它的数据结构和操作流程如下图所示:
2、栈的数组形式实现
(1)定义数组结构
首先