码迷,mamicode.com
首页 > 其他好文 > 详细

中缀表达式变为后缀表达式

时间:2014-08-10 12:57:10      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:style   size   on   sp   表达式   方法   元素   实现   

中缀表达式“9+(3-1)*3+10/2”转化为后缀表达式“9 3 1-3*+ 10 2/+”

中缀表达式转后缀表达式的方法:
1.遇到操作数:直接输出(添加到后缀表达式中)
2.栈为空时,遇到运算符,直接入栈
3.遇到左括号:将其入栈
4.遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,左括号不输出。
5.遇到其他运算符:加减乘除:弹出所有优先级大于或者等于该运算符的栈顶元素,然后将该运算符入栈
6.最终将栈中的元素依次出栈,输出。

实现9+(3-1)*3+10/2,栈=空
1.9输出        表达式=9     栈=空
2.+入栈        表达式=9    栈=+
3.(入栈 表达式=9 栈=+(
4.3输出, 表达式=9 3 栈=+(
5.-入栈, 表达式=9 3 栈=+(-
6.1输出, 表达式=9 3 1 栈=+( -
7.)比较栈顶 表达式=9 3 1 - 栈=+
8.*入栈 表达式=9 3 1 - 栈=+*
9.输出,        表达式=9 3 1 - 3 栈=+*
10.+比较栈顶    表达式=9 3 1 - 3 * + 栈=+
11.10输出        表达式=9 3 1 - 3 * + 10 栈=+
12./入栈          表达式=9 3 1 - 3 * + 10         栈=+ /
13.2输出         表达式=9 3 1 - 3 * + 10 2       栈=+ /
14.栈清空        表达式=9 3 1 - 3 * + 10 2 / +  栈=空

 

中缀表达式变为后缀表达式,布布扣,bubuko.com

中缀表达式变为后缀表达式

标签:style   size   on   sp   表达式   方法   元素   实现   

原文地址:http://www.cnblogs.com/zsboy/p/3902642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!