实现四则运算


前言

最近在看数据结构,遇到第一个实际栈的应用,记录

一、实现四则运算

将平时的四则运算表达式又称为中缀表达式转化为后缀表达式。

二、使用步骤

1.先将四则运算表达式转化为后缀表达式

遇数字输出,遇符号进栈,符号优先级低于栈当前符号则输出,输出直到同等优先级符号。
例:9+(3-1)*2
输出 栈
9 … +(in)
9 … + ((in)
9 3 … + (
9 3 … + ( -(in)
9 3 1 … + ( -
9 3 1 … + ( - )(in) 【右括号进栈,则输出-,变成 9 3 1 -】
9 3 1 - … + *(in)
9 3 1 - 2 … + * 【此时数字全部结束,则符号全部出栈,按照栈的特性,最后结果是9 3 1 - 2 * +】

2.对后缀表达式进行运算

9 3 1 - 2 * +
数字全部进栈,遇到符号,则将栈顶两元素出栈进行运算
9 3 1进栈,-进栈,则将3 1进行-运算,得2,则为9 2,继续2入栈 9 2 2,入栈,22=4,则得 9 4 +,最后结果为13。

总结

转化时运用栈进出运算的符号;计算时运用栈进出运算的数字。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值