Skip to content

LV005-栈简介

一、栈的概念

栈是限制在一端进行插入操作和删除操作的 线性表(俗称 堆栈)。

  • 栈顶:允许进行操作的一端称为栈顶。

  • 栈底:另一固定端称为栈底。

  • 空栈:没有元素的栈称为空栈。

  • 出栈:栈中提取出指定元素,此过程被称为出栈(或弹栈)。

  • 入栈:向栈中添加元素,此过程被称为进栈(入栈或压栈)。

根据栈的定义,可以想象,水杯可以想象为一个栈,接水的时候相当于元素入栈,倒水的时候相当于元素出栈,没有水的时候就相当于空栈。

栈的特点是 后进先出( LIFO ),它是一种特殊的线性存储结构,顺序结构和链式结构都可以实现栈,使用顺序结构实现的栈称为顺序栈,使用链式结构实现的栈称为链式栈。两种实现方式的区别仅限于数据元素在实际物理空间上存放的相对位置,顺序栈底层采用的是数组,链栈底层采用的是链表。

image-20220430092434203