中缀表达式是一种常见的数学表达式表示方法,它将操作符放在两个操作数的中间。例如,中缀表达式 "2 + 3" 表示将两个数相加。
中缀表达式求值的一般算法如下:
- 建立一个栈,用于存储操作数和运算符。
- 从左到右扫描中缀表达式。
- 如果当前字符是一个数字,将其推入栈中作为操作数。
- 如果当前字符是一个运算符(例如 +、-、*、/),从栈顶弹出两个操作数,执行相应的运算操作,将结果推入栈中。
- 如果当前字符是一个左括号 '(',将其推入栈中。
- 如果当前字符是一个右括号 ')',从栈顶弹出运算符和操作数,执行相应的运算操作,将结果推入栈中。
- 重复步骤 3 到 6,直到扫描完整个中缀表达式。
- 最后,栈中应该只剩下一个元素,即为中缀表达式的求值结果。
以下是一个简单的 Python 代码示例,用于求解中缀表达式 "2 + 3* 4 - 5 / 6":
- def evaluate_expression(expression):
- stack = []