目录
3.1 栈和队列的定义和特点
1. 定义
限定栈插入在最后一个,删除也是最后一个;
而队列插入也是最后一个,但删除却是第一个。
2. 栈的应用
特性:后进先出
3. 队列的应用
特性:先进先出
3.1.1 栈的定义和特点
栈(stack)是一个特殊的线性表,是限定仅在一端(通常是表尾)进行插入和删除操作的线性表。又称为后进先出(Lsat In First Out)的线性表,建成LIFO结构。
思考:
不存在cab的情况。
栈的相关概念总结:
3.1.2 队列的定义和特点
队列(queue)是一种先进先出(First In First Out——FIFO)的线性表。在表一端插入(表尾),在另一端(表头)删除。
3.2 案例引入
3.2.1 进制转换
e.g.
3.2.2 括号匹配的检验
3.3.3 表达式求值
(1)表达式求值是程序设计语言编译中一个最基本的问题,它的实现也需要运用栈;
(2)这里介绍的算法是由运算符优先级确定运算顺序的对表达式求值算法——算符优先算法。