第3章 栈和队列本章主要介绍以下内容:l栈的概念、存储结构及其基本操作l队列的概念、存储结构及其基本操作l栈与队列的应用举例退出3.1 栈3.2 栈的应用举例3.3 队列3.4 队列的应用举例3.1 栈 3.1.1 栈的定义栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。如下所示:进行插入和删除的一端是浮动端,通常被称为栈顶,并用一个“栈顶指针”指示;而另一端是固定端,通常被称为栈底。我们经常将栈用下图3-1的形式描述:a1,a2,a3,.,an插入和删除端图3-1结论:后进先出(LastInFirstOut),简称为LIFO线性表。举例1:家里吃饭的碗,通常在洗干净后一个一个地落在一起存放,在使用时,若一个一个地拿,一定最先拿走最上面的那只碗,而最后拿出最下面的那只碗。举例2:死胡同。举例3:对一栈,给定的输入项目A,B,C,若输入的顺序是A,B,C,试给出全部的可能的输出序列。下面我们先给出栈结构的基本操作:(1)初始化栈Init_Stack(S)(2)入栈Push_Stack(S,x)(3)出栈Pop_Stack(S)(4)获取栈顶元素内容T