#M8014. 前中后缀表达式求值

前中后缀表达式求值

栈的应用:表达式求值

前缀表达式求值

假设前缀表达式为:+ * 2 3 4

首先从右往左扫描表达式,遇到4,3,2, 将它们入栈,此时栈顶元素为2,次顶元素为3。

扫描到 * 号,栈顶 2 和次顶 3 出栈做乘法,将结果 6 入栈。

接下来继续往左扫描表达式,遇到 2 入栈,最后遇到 + 号,将栈顶 6 和次顶 4 相加,结果 10 入栈。

因此,前缀表达式+ * 2 3 4的值为10。

后缀表达式求值

假设后缀表达式为:2 3 * 4 +

从左往右扫描表达式,遇到2和 3 , 将它们入栈,遇到 * 号, 将栈顶和次顶元素出栈,并计算得到 6, 入栈。

接下来继续往右扫描表达式,遇到 4 入栈,遇到 + 号,将栈顶和次顶元素出栈,计算得到10。

因此,后缀表达式2 3 * 4 +的值为10。