栈和队列也是线性表,限制插入和删除的位置只能在端点
栈(stack)
后进先出 LIFO 表尾进入,表尾删除

一、案例
案例一:进制转换
例子
159转换成八进制
159/8=19...7
19/8=2...3
2/8=0...2
结果为237
案例二:括号匹配的检验
左括号先入栈,右括号有匹配的话与左括号一起出栈
案例三:表达式求值
算符优先算法
二、栈类型定义
三、栈的操作

初始化

销毁栈
判断栈是否为空
求栈的长度

清空栈

入栈Push
出栈Pop

四、链栈

链栈初始化

判断链栈是否为空

链栈的入栈

链栈的出栈

取栈顶元素
五、栈和递归

求n的阶乘

队列(queue)
先进先出 FIFO 表尾进入,表头删除
案例一:舞伴问题

一、存在的问题
假上溢
循环队列
让front变成零 %6

判断队空队满

二、操作实现
初始化

求队列长度

入队
出队

取队头元素

三、链队的表示和实现

链队初始化

销毁

入队
出队

求队头元素

































