中缀表达式转后缀表达式算法

本文详细介绍了如何将中缀表达式转换为后缀表达式,通过扫描表达式,根据运算符的优先级(括号 > 乘除 > 加减)和左右括号的匹配来确定运算顺序。算法包括初始化栈、判断操作数、处理括号以及操作符的比较和弹出。在遇到右括号时,会弹出栈中所有匹配的左括号和运算符,最后扫描结束时,将栈中剩余运算符弹出并加入后缀表达式。
摘要由CSDN通过智能技术生成

💯中缀表达式转后缀表达式(机算)

思路:

根据 括号 > 乘除 > 加减 的原则,在从左往右扫描表达式的过程中,确定表达式操作符的运算顺序,

先初始化一个栈,栈中用来存储“暂时无法确定运算顺序的操作符” 和 “左括号”。

机器扫描顺序是从左往右,因此每得到一个运算顺序,就可以确定一部分后缀表达式,

  • 在不遇到括号情况下,需要多次判断加减乘除计算顺序,在每一次判断依赖当前扫描到的操作符和前面一个操作符,将整个表达式看做[已经转换为后缀表达式的部分——NumA] [前一个运算符op_prior] [一个单独的数字 NumB] [当前扫描到的运算符op_present] [尚未参与转换的部分 NumC] 的样式。

    [NumA] [op_prior] [NumB] [op_present] [NumC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值