1. 前言 栈和队列相关的题目是校招中出现频率一般,但是是属于相对基础的题型。我们要关注两类问题,栈和队列的添加和删除操作,以及栈和队列之间的区别和联系。 2. 栈和队列 2.1 数据结构 首先我们给出栈和队列的数据结构定义: (1)栈(Stack):允许在某一端插入元素(即push操作),以及删除元素(即pop操作)的数据结构,必须满足后进先出(LIFO:Last In First Out)的运算规则。 一个典型的栈数据结构如下图所示: 栈结构 (2)队列(Queue):允许在某一端插入元素(即enqueue操作),以及在另一端删除元素(即dequeue操作)