已知中缀表达式,求其后缀表达式,请举一例子说明,
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:数学作业 时间:2024/07/31 16:53:47
已知中缀表达式,求其后缀表达式,请举一例子说明,
![已知中缀表达式,求其后缀表达式,请举一例子说明,](/uploads/image/z/6611403-3-3.jpg?t=%E5%B7%B2%E7%9F%A5%E4%B8%AD%E7%BC%80%E8%A1%A8%E8%BE%BE%E5%BC%8F%2C%E6%B1%82%E5%85%B6%E5%90%8E%E7%BC%80%E8%A1%A8%E8%BE%BE%E5%BC%8F%2C%E8%AF%B7%E4%B8%BE%E4%B8%80%E4%BE%8B%E5%AD%90%E8%AF%B4%E6%98%8E%2C)
比如:
(1+2)*3-4*(5-6)+1-8
先按照优先级把所有括号加上:
当优先级相同如A+B+C 加括号从左边加到右边:((A+B)+C)
(((((1+2)*3)-(4*(5-6)))+1)-8)
从内括号起,把每个括号里的运算符提到当前括号的最前面,
比如(A+B) -> (+AB)
再比如(A*(B+C)) -> (*A(+BC))
故有(-(+(-(*(+12)3)(*4(-56)))1)8)
把括号去掉,就是对应的后缀式:
-+-*+123*4-5618
(1+2)*3-4*(5-6)+1-8
先按照优先级把所有括号加上:
当优先级相同如A+B+C 加括号从左边加到右边:((A+B)+C)
(((((1+2)*3)-(4*(5-6)))+1)-8)
从内括号起,把每个括号里的运算符提到当前括号的最前面,
比如(A+B) -> (+AB)
再比如(A*(B+C)) -> (*A(+BC))
故有(-(+(-(*(+12)3)(*4(-56)))1)8)
把括号去掉,就是对应的后缀式:
-+-*+123*4-5618