借助堆栈把下列中缀表达式转换成后缀表达式 A*(B-D)+E/F
借助堆栈把下列中缀表达式转换成后缀表达式 A*(B-D)+E/F
日期:2018-06-20 16:55:21 人气:1
中缀表达式转换成后缀表达式并求值
算法:
中缀表达式转后缀表达式的方法:
1.遇到操作数:直接输出(添加到后缀表达式中)
2.栈为空时,遇到运算符,直接入栈
3.遇到左括号:将其入栈
4.遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,左括号不输出。
5.遇到其他运算符:加减乘除:弹出所有优先级大于或者等于该运算符的栈顶元素,然后将该运算符入栈
6.最终将栈中的元素依次出栈,输出。
例如
a+b*c+(d*e+f)*g ----> abc*+de*f+g