栈的概念及结构
在学习栈前,我们先看一下栈的正式解释:
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。
进行数据插入和删除操作的一端
称为栈顶,另一端称为栈底。
栈中的数据元素遵守后进先出
LIFO
(
Last In First Out
)的原则。
压栈:栈的插入操作叫做进栈
/
压栈
/
入栈,
入数据在栈顶
。
出栈:栈的删除操作叫做出栈。
出数据也在栈顶
。
来看图:
栈底就是我们栈的开头位置,我们放数据进去,就是以一种往上叠的感觉, 现在栈底已经有a1、a2两个数据,我们现在放a3进去,它就应该在a2的上面。
现在a3已经进栈,我们现在要拿出数据,就从栈顶开始拿,也就是说a3回先被我们拿出来
然后出栈的顺序就是:a3、a2、a1
这就是栈的后进先出,但是我们没必要全部放进去了再一起拿出来,我们也可以放一个数据拿一个数据出来,比方说;
现在有a3、a4要进栈,我们让a3先进栈:
但是我们又要用到a3这个数据,我们就直接把a