(3 + 4) x 5 - 6 转换为前缀表达式之后是: - x + 3 4 5 6
从右至左扫描表达式,遇到数字时,将数字压入堆栈中,遇到运算符的时候就弹出栈顶的两个数,用运算符对它们做相应的计算,并将结果入栈,重复上述过程直到遍历到表达式的最左端,最后运算得出的值即为表达式的结果
中缀表达式就是常见的运算表达式,如(3 + 4) x 5 - 6
中缀表达式的求值是我们人类最熟悉的,但是对于计算机来说却不好操作,因此,在计算中缀表达式的结果的时候往往会将其转换成其他表达式来操作(一般情况之下都是转换成为后缀表达式)
(3 + 4) x 5 - 6 转换为后缀表达式就是: 3 4 + 5 * 6 -
从左至右扫描表达式,遇到数字时,将数字压入堆栈中,遇到运算符时,弹出栈顶的两个数(栈顶元素和次栈顶元素),用运算符对它们做相应的运算,并将结果入栈 , 重复上述的过程直到遍历到表达式的最右边, 最后运算得出的值即为表达式的运算结果
注意 : 我们使用中缀表达式进行计算机求值的时候要使用两个栈,但是使用后缀表达式和前缀表达式求值的时候只需要使用一个栈
前缀表达式就是运算符在前面, 后缀表达式就是运算符在数值的后面 , 中缀表达式就是运算符在数值的中间
对于前缀和后缀表达式的计算机求值的思路简记: