标签:
1.我们首先来看一下,什么是前缀、中缀、后缀表达式:
中缀表达式: 2 - 3 * 4
后缀表达式:2 3 4 * -
前缀表达式:- 2 * 3 4
简单介绍下,前中后的划分依据为两个数字的操作符处于两个数字的前面,中间还是后面,其中中缀表达式为我们日常生活中常见的表达形式。
2.重要操作过程
后缀表达式求值过程:
从左到右扫描后缀表达式:遇到数字就将其压入栈中;遇到操作符,则取出栈顶的两个元素(栈顶元素为a, 另一个为b),并计算b 操作符 a的取值,并将结果重新压入栈中。扫描整个表达式结束后,栈中数值即为整个表达式的结果。
前缀表达式求值过程:
从右向左扫描前缀表达式:其他操作除了(栈顶元素为b, 另一个为a)与后缀表达式求值,不再赘述。
中缀表达式转换为后缀表达式过程:
从左到右扫描中缀表达式,遇到数字
中缀表达式转换为前缀表达式过程
标签:
原文地址:http://my.oschina.net/lucusguo/blog/506660