首页 > 技术文章 > 中缀表达式转前缀表达式

JRX2015U43 2016-10-22 10:24 原文

1)求输入串的逆序。
2)检查输入的下一元素。
3)假如是操作数,把它添加到输出串中。
4)假如是闭括号,将它压栈。
5)假如是运算符,则
- i)假如栈空,此运算符入栈。
- ii)假如栈顶是闭括号,此运算符入栈。
- iii)假如它的优先级高于或等于栈顶运算符,此运算符入栈。
- iv)否则,栈顶运算符出栈并添加到输出串中,重复步骤5。
6)假如是开括号,栈中运算符逐个出栈并输出,直到遇到闭括号。闭括号出栈并丢弃。
7)假如输入还未完毕,跳转到步骤2。
8)假如输入完毕,栈中剩余的所有操作符出栈并加到输出串中。
9)求输出串的逆序。

推荐阅读