- 0
- 0
- 约9.85千字
- 约 27页
- 2019-05-05 发布于广东
- 举报
三、栈和队列的应用
1、数制转换
(N ) (M ) (b b b b )
10 d m1 m2 1 0 d
b d m1 b d m2 b d 1 b d 0
m1 m2 1 0
(b d m2 b d m3 b d 0 )d b
m1 m2 1 0
•通过不断的求除于d 的余数,得到各个数位上的值。
•得到的数值序列和实际中的相反
•如果输出,先得到的数位值在后得到的数位值之后
显示
——利用栈将得到的数位值暂时存储起来。
2 、括号匹配
得到一个右括号的时候,会和与它最接近的一个同类型左括号进
行匹配。根据括号的嵌套原则,最外层的左括号最后才会被匹配,
它和内层括号的处理关系是先进後出的关系。拿到一个左括号的
时候,不能确定立刻匹配,所以要将他们暂时存储起来。
[...(..()..)..{}..]
[ ( ( ) ) { } ]
(
( ( ( { {
[ [ [ [ [ [ [ [ [
• 3、行编辑
int i = 1; 应用程序
while ...
e l i h w = i t n i
输入缓冲区 用户数据区
用户一旦发现输入错误,可以利用退格键删除刚刚输入的
字符。在删除操作过程中,删除的是最近输入的字符。所
以输入缓冲区中数据的处理具有先进后出的特点。
用栈结构来实现一个输入缓冲区。(Algo3.2)
• 4 、表达式求值
• 一个表达式由操作数(亦称运算对象)、操作符 (亦称
运算符) 和分界符组成。
• 算术表达式有三种表示:
中缀(infix)表示
操作数 操作符 操作数,如 A+B;
前缀(prefix)表示
操作符 操作数 操作数,如 +AB;
后缀(postfix)表示
操作数 操作数 操作符,如 AB+;
表达式中相邻两个操作符的计算次序为:
优先级高的先计算;
优先级相同的自左向右计算;
当使用括号时从最内层括号开始计算
优先关系 table 3.1
a + b * ( c - d ) - e ^ f / g
a + b * ( c - d ) - e ^ f / g
1、— 4、^
2、*
5、/
3、+
6、—
•得到操作符的时候不一定得到了所有的操作数,所以不能立刻处理。—
—操作数和操作符都需要存储。
•得到一个完整原子表达式的时候,(一个操作符和相应数量的操作数)
不能立刻计算,还应该察看其后的操作符和当前操作符的优先级关系。
如果
您可能关注的文档
- 内蒙古科技大学材料与冶金学院 板料成型部分 2.pdf
- 内蒙古科技大学材料与冶金学院 板料成型部分 1.pdf
- 内蒙古科技大学材料与冶金学院 质量控制理论.pdf
- 内蒙古科技大学材料与冶金学院 金属塑性成型工艺设计与工艺制度.pdf
- 内蒙古大学艺术学院蒙古族传统音乐概论 蒙 古族传统音乐的源流.ppt
- 内蒙古大学艺术学院蒙古族传统音乐概论 蒙 古族传统音乐的构成.ppt
- 南京信息工程大学 遥感图像处理第八章 二值图像处理与形状分析.pdf
- 南京航空航天大学电 路分析基础第一章 电路分析的基本概念和电路基本定律.pdf
- 兰州商学院法学院环境资 源法第三章 环境问题与环境资源法的发展历程.pdf
- 兰州理工大学结构优 化设计第七章 结构优化设计实例.pdf
原创力文档

文档评论(0)