表达式的计算方法

表达式是有操作数和操作符,界符结果组成。

由操作数的放置顺序,表达式可分为前缀表达式,后缀表达式,中缀表达式。

表达式常通过堆栈来实现

一:中缀表达式

 

二:前缀表达式

三:后缀表达式

这个计算的算法计算问题,从左向右依次扫描后的表达式。遇到的操作数,则将该操作数进栈。再到操作符,则从堆栈中弹出两个操作数。并执行该操作和规定的计算。将计算结果进栈


中缀表达式转化为后缀表达式

根据后置表达式具有计算鉴定的优点,编辑程序中常见的中缀表达式转化为后缀表达式。

算法步骤:

 

  1. 初始化进栈,并将#栈站。
  2. 从左到右顺序扫描中缀表达式中的每一个元素。(这里的元素是指表达式中的操作数,操作符或界符) 

              1.当前扫描元素为操作数,直接输出。

               2.如果当前扫描的元素为右括号,则连续出站输出直至遇到左括号。

           3.如果当前少量的元素为操作幅或左括号。则将该元素的占外优先级与占点元素的占内优先级进行大小比较。如果前者小于等于后者,则连续出价输出。直到当前扫描元素的站外,优先级大于战病元素的战略优先级。此时再将该扫描员送进站。

                     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值