中缀表达式&后缀表达式

什么是中缀表达式

中缀表达式就是 a+b 这样的,运算符在两个数的中间

什么事后缀表达式

后缀表达式就是 a b + 这样的,运算符在两个数后面

再细分一下
中缀表达式后缀表达式
a+b-ca b + c -
a+b*ca b c * +
(a+b)*ca b + c *
((a+b)*ca b + c *
a / b ^ c + d * e - a * ca b c ^ / d e * + a c * -

emmmmm,虽然没感觉这样能带来什么便利,但书上说处理复杂表达式的时候可以避免计算机崩溃,但我不可能啥时候都写个这玩意吧,动不动就是百行代码,而且用c语言的话要区分很多细节啊,什么小数点,字符转数字,加减乘除乘方的优先级啊…

规律

就是用栈嘛,感觉用栈还是尽量操作数组吧,链表真的太繁琐了。。。

a+b 为例子 :
压入a
弹出a
压入+
压入b
弹出b
尾部
弹出+
得到 a b +

a+b*c 为例子 :
压入a
弹出a
压入+
压入b
弹出b
压入 * ( * 优先级大于 +)
压入c
弹出c
末尾
弹出 *
弹出+

(a+b)*c 为例子 :
压入(
压入a
弹出a
压入+
压入b
弹出b
检测到)
弹出+
压入 *
压入c
弹出c
尾部
弹出 *

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值