栈是一种运算会受到相关限制的数据结构,简单来说,栈就是一种数据的存储方式。在这种数据的存储方式中进行存入数据或者读取数据的操作时,会受到相关规则的限制。
栈这种数据结构具有以下几个特点:
- 栈相当于一端开口、一端封闭的容器;
- 数据可存储在栈里面,把数据移动到栈里面的过程叫作进栈,也称为压栈、入栈;
- 栈只能对其栈顶的数据进行操作;
- 栈是一种先进后出的数据结构
![](https://img-blog.csdnimg.cn/20190603143235403.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzkxMjUz,size_16,color_FFFFFF,t_70)
栈的一端是开口的,一端是封闭的。开口的这一端可以进数据与出数据,闭合的这一端不能进数据,也不能出数据。闭合的这一端的位置称为栈底。在最开始的时候,如果栈里面没有数据,栈顶与栈底是重合的。在进入数据后,栈顶会逐渐往上移动,而栈底的位置始终处于闭合端所在的位置。