四则运算表达式求值(中缀表达式与后缀表达式转换)--- 栈的应用

中缀表达式转后缀表达式

首先借助辅助栈,遇到数字和字符直接打印,遇到符号把当前符号和栈顶元素进行优先级比较,如果当前元素优先级高,直接入栈,如果当前元素优先级低,则将栈内元素一次出栈再将当前元素入栈,遇到左括号,无条件入栈,遇到右括号,将栈内元素依次输出,直到左括号为止。

中缀表达式:(9+6)* 7 - 8/2=====>>>>>>后缀表达式:9 6 + 7 * 8 2 / -

 


后缀表达式转中缀表达式

借助辅助栈,遇到数字或字符直接入栈,遇到符号,将栈顶元素的下一个和栈顶元素构成表达式

后缀表达式:9 6 + 7 * 8 2 / - ======>>>>>>中缀表达式:(9+6)*7-8/2

中缀表达式转后缀表达式快速方法

将所有表达式括起来然后符号位放到右括号后面

(9+6)*7-8/2  ==>> ( ( (9+6)*7 ) - (8/2) )  ==>>  (((96)+7)*(82)/)-   括号去掉得到后缀表达式: 96+7*82/-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值