栈
1.栈的定义
限定是仅在表尾进行插入或删除操作的线性表(表尾称为栈顶TOP,表头称为栈底Base)
删除:从栈顶删除最后一个元素称为入栈pop弹出栈弹栈后进先出
插入:元素到栈尾的操作,称为入栈push压栈入栈压线
栈的由来(詹天佑火车doge,压子弹)
2.逻辑结构
同线性结构相同,仍为一对一结构(后进先出)
3.存储结构
用顺序栈或者链栈存储即可,但顺序栈跟常见
4.运算法则
只能在栈顶运算,且访问结点时依照后进后出的原则
队列
定义
队列是只能在的线性表在表的一端进行插入运算,在另一端(表头)删除的线性表(先进先出)(头删尾插)
Q=(a1,a2,a3,a4,......,an)
逻辑结构
队列先进先出
(脱机打印)(多用户系统,多用户排队)
栈和队列都是线性表(是删除和插入位置受限的线性表)
3.3栈和队列
案例
1.进制转换
2.括号匹配的检验
3.表达式求值
4舞伴问题
概念
定义 队列是一种先进先出的线性表。在一端插入(表尾),在另一端(表头)删除
1逻辑结构
2存储结构
3运算规则
4实现方式
栈的抽象数据类型的类型定义
栈的表示和实践