如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。

逆波兰表示

来自"NOCOW"

跳转到: 导航, 搜索

输入一个在前后都带有开括号与闭括号的中缀表达式,将其转换成逆波兰表示的算法:

  • 检查表达式的下一字符。
  • 假如是个操作数,输出。(这里的“操作数”仅指字母)
  • 假如是个开括号,将其压栈。
  • 假如是个运算符,则
    • 假如栈为空,将此运算符压栈。
    • 假如栈顶是开括号,将此运算符压栈。
    • 假如此运算符比栈顶运算符优先级高,将此运算符压入栈中。
    • 否则栈顶运算符出栈并输出,重复步骤4。
  • 假如是个闭括号,栈中运算符逐个出栈并输出,直到遇到开括号。开括号出栈并丢弃。
  • 假如输入还未完毕,跳转到步骤1。
  • 假如输入完毕,栈中剩余的所有操作符出栈并输出它们。
个人工具