中缀表达式转换到后缀表达式
按照以下方法进行转换,为什么结果不一样,当运算符的优先级一样时,如*和/时,是压栈还是出栈呢,请高手能够予以解答,谢谢
转换算法:
1)检查输入的下一元素。
2)假如是个操作数,输出。
3)假如是个开括号,将其压栈。
4)假如是个运算符,则
i) 假如栈为空,将此运算符压栈。
ii) 假如栈顶是开括号,将此运算符压栈。
iii) 假如此运算符比栈顶运算符优先级高,将此运算符压入栈中。
iv) 否则栈顶运算符出栈并输出,重复步骤4。
5)假如是个闭括号,栈中运算符逐个出栈并输出,直到遇到开括号。开括号出栈并丢弃。
6)假如输入还未完毕,跳转到步骤1。
7)假如输入完毕,栈中剩余的所有操作符出栈并输出它们。
以对下中缀表达式2*(x+y)/(1-x)转换成后缀表达式应该是什么?