栈是线性表的一种特例,其后进先出的数据结构在开发中比较常见。许多软件、应用都提供撤销的操作(ctrl+z),其实现原理就是使用了栈的数据结构。
栈是限定仅在表尾进行插入和删除操作的线性表。
通常把允许插入和删除的一端称为栈顶(top),另外一端称为栈底(bottom),不办含任何数据元素的栈称之为空栈。栈又称之为后进先出的线性表,简称LIFO结构。
既然栈属于线性表,那么栈元素之间就具有线性关系,即前驱后继关系。常用的栈操作方式有:入栈(push)和出栈(pop)。
定义栈的数据结构
入栈操作:
出栈操作:
测试代码如下:
输出如下图所示:
代码地址:
https://github.com/USuperMe/stack.git
领取专属 10元无门槛券
私享最新 技术干货