中缀表达式

前缀表达式

后缀表达式

后缀表达式求值

建立一个用于存数的数组,如果遇到一个数就入栈,如果遇到运算符,就取出栈顶的两个元素进行计算后入栈,最后栈中恰好剩下一个数,就是该后缀表达式的结果。

中缀表达式转后缀表达式

  1. 建立一个用于存运算符的栈,逐一扫描中缀表达式中的元素。
  • 如果遇到一个数,输出该数
  • 如果遇到左括号,把左括号入栈
  • 如果遇到右括号,不断取出栈顶并输出,直到栈顶为左括号,然后把左括号出栈
  • 如果遇到运算符,只要栈顶符号的优先级不低于新符号,就不断取出栈顶并输出(栈里面的优先级是严格单调递增的)
  • 优先级:( ) > ^ > * / > + -

如果输入的+、-为单目运算,改为0与运算对象在前,运算符在后,例如:-5,转化为:05-

中缀表达式的递归法求值

 

posted on 2022-03-12 10:13  我疯故我在  阅读(82)  评论(0)    收藏  举报