#前缀表达式(波兰表达式)
前缀表达式又称为波兰式,前缀表达式的运算符位于操作数之前 举例:(3+4)*5-6对应的波兰式是-*+3456
前缀表达式的计算求值
从右到左扫描表达式,将数字压入堆栈 遇到运算符时,弹出栈顶的两个数,进行运算 注意顺序为:栈顶元素 -操作符->次顶元素 并将结果入栈;重复上述过程直到表达式最右端 最后运算得出的值即为最终结果
例如 (3+4)*5-6
对应的波兰式是-*+3456 从右向左扫描得6 5 4 3 ,入栈 遇到+,弹出3 4 得7,7入栈 遇到* ,弹出7 5 得35,35入栈 遇到- ,弹出35 6 得29,29即为最终结果
#中缀表达式
就是常见的运算表达式 人最熟悉中缀表达式,但计算机最难处理中缀表达式,所以往往将中缀表达式改为后缀表达式 例如(3+4)*5-6就是一个中缀表达式
#后缀表达式(逆波兰表达式)
与前缀表达式类似,只是运算符位于操作数之后 例如(3+4)*5-6的逆波兰表达式是34+5*6- 还有很多例子
后缀表达式的计算求值
从左往右扫描表达式,遇到数字时,将数字压入堆栈 遇到运算符时,弹出栈顶的两个数,计算 注意顺序:次顶元素 -处理->栈顶元素 并将结果入栈,重复上述过程直到表达式最右端 最后结果即为计算结果
#前缀表达式(波兰表达式) 前缀表达式又称为波兰式,前缀表达式的运算符位于操作数之前 举例:(3+4)*5-6对应的波兰式是-*+3456 前缀表达式的计算求值 从右到左扫描表达式,将数字压入堆栈 遇到运算符时,弹出栈顶的两个数,进行运算 注意顺序为:栈顶元素 -操作符->次顶元素 并将结果入栈;重复上述过程直到表达式最右端 最后运算得出的值即为最终结果 例如 (3+4)*5-6 对应的波兰式是-*+3456 从右向左扫描得6 5 4 3 ,入栈 遇到+,弹出3 4 得7,7入栈 遇到* ,弹出7 5 得35,35入栈 遇到- ,弹出35 6 得29,29即为最终结果 #中缀表达式 就是常见的运算表达式 人最熟悉中缀表达式,但计算机最难处理中缀表达式,所以往往将中缀表达式改为后缀表达式 例如(3+4)*5-6就是一个中缀表达式 #后缀表达式(逆波兰表达式) 与前缀表达式类似,只是运算符位于操作数之后 例如(3+4)*5-6的逆波兰表达式是34+5*6- 还有很多例子 后缀表达式的计算求值 从左往右扫描表达式,遇到数字时,将数字压入堆栈 遇到运算符时,弹出栈顶的两个数,计算 注意顺序:次顶元素 -处理->栈顶元素 并将结果入栈,重复上述过程直到表达式最右端 最后结果即为计算结果