前缀中缀后缀表达式

中缀表达式

平常我们看到的算术题,比如( 3 + 4)x 5 - 6

前缀表达式(运算符位于操作数之前)

从右到左扫描表达式,遇数字压入栈,遇运算符弹出栈顶的两个数进行相应运算后结果压入数栈,重复上述直到最后结果。
例如:- x + 3 4 5 6

  1. 6、5、4、3压入堆栈
    2)遇到 + ,弹出3、4,计算得7压入数栈,此时数栈为6、5、7
    3)遇到 x ,弹出7、5,计算得35压入数栈,此时数栈为6、35
    4)遇到 - ,弹出35、6,计算35-6得29压入数栈,此时数栈为29(前弹出的-后弹出的)

后缀表达式(运算符位于操作数之后)

从左到右扫描表达式,遇数字压入栈,遇运算符弹出栈顶的两个数进行相应运算后结果压入数栈,重复上述直到最后结果。
例如:3 4 + 5 x 6 -

  1. 3、4压入堆栈
    2)遇到 + ,弹出4、3,计算得7压入数栈,此时数栈为7
    3)遇到 5 压入数栈,此时数栈为7、5
    4)遇到 x ,弹出5、7,计算得35压入数栈,此时数栈为35
    5)遇到 6 压入数栈,此时数栈为35、7
    4)遇到 - ,弹出35、6,计算35-6得29压入数栈,此时数栈为29(后弹出的-前弹出的)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值