- 4
- 0
- 约5.42千字
- 约 40页
- 2018-12-07 发布于湖北
- 举报
如何从后缀式求值? 1 2 ? 3 4 2 / ? 6 ? + 1 2 1 2 3 2 4 3 2 2 4 3 2 2 3 2 1 1 6 1 1 6 1 从左到右扫描表达式 1.碰到操作数则入栈 2.碰到操作符则,从栈中弹出两个操作数加以计算,计算结果入栈 分析 “原表达式” 和 “后缀式”中的运算: a+b# a+b+c# = a*b*c# = a*b+c# a+b*c# a+b+c*d# = a+b*c*d# = 如何从原表达式求得后缀式? 从原表达式求得后缀式的规律为: 1) 设立暂存运算符的栈; 2) 设表达式的结束符为“#”, 予设运算符栈的栈底为“#” 3) 若当前字符是操作数, 则直接发送给后缀式; 4) 若当前运算符的优先数高于栈顶运算符,则进栈; 5) 否则,退出栈顶运算符发送给后缀式; 6) “(” 对它之前后的运算符起隔离作用,“)”可视为自相应左括弧开始的表达式的结束符。 从原表达式求得后缀式的规律为: 利用栈将中缀表示转换为后缀表示 使用栈可将表达式的中缀表示转换成它的前缀表示和后缀表示。 为了实
原创力文档

文档评论(0)