中缀式转换为后缀式(逆波兰式)方法
2011-11-26 22:27
218 查看
对于用低级编程语言是实现对运算式的处理,后缀式(逆波兰式)最为简便。下面是将中缀式(常见运算式)转换为后缀式的算法:
栈底放‘#’,从左至右逐字读取中缀式:
a.当当前字符为数字时,直接输出;
b.当当前字符为"("时,将其压栈;
c.当当前字符为")"时,则弹出堆栈中最上的"("之前的所有运算符并输出,然后删除堆栈中的"(" ;
d.当当前字符为运算符时,则依次弹出堆栈中优先级大于等于当前运算符的,输出,再将当前运算符压栈;
e.当为"#"时,弹出所有栈中的内容输出
中缀式:a*(b+c)/d+e
后缀式:abc+*d/e+
栈底放‘#’,从左至右逐字读取中缀式:
a.当当前字符为数字时,直接输出;
b.当当前字符为"("时,将其压栈;
c.当当前字符为")"时,则弹出堆栈中最上的"("之前的所有运算符并输出,然后删除堆栈中的"(" ;
d.当当前字符为运算符时,则依次弹出堆栈中优先级大于等于当前运算符的,输出,再将当前运算符压栈;
e.当为"#"时,弹出所有栈中的内容输出
中缀式:a*(b+c)/d+e
后缀式:abc+*d/e+
相关文章推荐
- 中缀式转换为后缀式(逆波兰式)方法
- 中缀式转换为后缀式(逆波兰式)方法
- 中缀式转换为后缀式(逆波兰式)方法
- 算法题:四则运算(中缀式到后缀式的转换,值得思考的逆波兰式)
- 如何推倒后缀式(如何由中缀式转换为后缀式)
- 一个中缀式到其他式子的转换方法
- 栈及实现(C语言)以及中缀式到后缀式的转换实例
- NYOJ-35-表达式求值(中缀式转后缀式 逆波兰表达式)
- 表达式的中缀式转换为前缀式及后缀式
- 数据结构实验之栈二:一般算术表达式转换成前缀式,中缀式,后缀式
- 中缀式 前缀式 后缀式 转换
- 表达式求值 中缀式转换成后缀式
- 第九届河南省程序设计大赛-NYOJ-1272-表达式求值(中缀式转后缀式 逆波兰表达式)
- 中缀式转换为逆波兰表达式
- 如何将中缀式转化成前缀式和后缀式(波兰和逆波兰)(适合考试使用的简单办法)
- NYOJ-467 中缀式变后缀式【逆波兰法】
- 如何将中缀式转化成前缀式和后缀式(波兰和逆波兰)结合二叉树(适合数据结构方面的理解)
- 手工转换中缀式与前、后缀式
- 顺序栈应用2(利用顺序栈将中缀式转换成前、后缀式并求值)
- 前缀式、中缀式、后缀式相互转换