中缀表达式,前缀表达式,后缀表达式暂记

中缀表达式,
前缀表达式(波兰表达式),
后缀表达式(逆波兰表达式)
平时我们习惯将表达式写成 (1 + 2) * (3 + 4),加减乘除等运算符写在中间,因此称呼为中缀表达式。而波兰表达式的写法为 (* (+ 1 2) (+ 3 4)),将运算符写在前面,因而也称为前缀表达式。逆波兰表达式的写法为 ((1 2 +) (3 4 +) *),将运算符写在后面,因而也称为后缀表达式。


中缀转后缀
在运算符比较时,只需比较相邻两个运算符的优先级,高优先级的可以直接运算得出结果,
所以在中缀转后缀的过程中,如果看到中间得优先级高的运算符就入站
,之后应该是一个运算数,后边的运算符如果优先级小或者相同就可以出栈了

而括号仍然起分割的作用,碰到左括号就是一次分割,先入站,执行括号种的运算,当遇到表达式的尾部则将运算符全部依次出栈

中缀转前缀
从右往左依次扫描,结果也是从右往左生成
是出栈就变成了 小于

后缀转前缀:每次扫描到一个运算符时,只需将其放到前边的两个值之前

中缀表达式的求值:
两个栈,一个错数值,一个存结果,执行过程和求后缀表达式差不多

后缀表达式的数值:
一个栈用于存数字

前缀:从右往左扫描
数入栈,遇到运算符出栈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值