首先说明一下什么是中缀什么是后缀
中缀表达式:就是人们日常常用的表达式形式
后缀表达式:计算机喜欢的形式,没有括号所有符号都是在要运算的数字后面出现。
因为计算机是用栈来计算的,其规则为:从左到右扫描表达式中的每个数字和符号,遇到数字就进栈,遇到符号就将处于栈顶的两个数字出栈然后跟这个符号进行运算,最后将运算结果进栈知道最后最后获得结果。
转换步骤:
1.按运算符优先级对所有运算符和他的运算数加括号(原本有括号不用加)
例如: a*(b+c)-d 加括号之后: ((a*(b+c))-d)
2.把运算符转移至对应括号后
即: ((a(bc)+)*d)-
3.去除括号
即: abc+*d-
则:abc+*d-为后缀表达式