3.3栈和队列的应用

一、栈的括号匹配问题

在这里插入图片描述
①:看左边的图,从左往右数最后出现的左括号是④,接下来是右括号④,从而④率先被匹配。
②:右图所示,当遇到左括号时,将其压入栈中,当遇到右括号,就将栈顶的左括号弹出,检查他们俩是否匹配。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
遇到不匹配的就算是失败了,不用继续扫描了。
在这里插入图片描述
在这里插入图片描述
从这个例子中可以看出,写代码的时候,在扫描完成之后需要检查栈是否为空,如果不为空,说明“失败了”
在这里插入图片描述
在这里插入图片描述

二、栈在表达式求值中的应用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

中缀表达式转后缀表达式

在这里插入图片描述
“-”入栈之后,下一个遇到的是“”,而“-”的优先级要低,所以“-”号先不能出栈,而“”后面不知道有没有括号,所以“*“先入栈。

在这里插入图片描述
遇到”/“之后,”*“出栈,不知道”/“后面是不是有括号,先将其入栈。
在这里插入图片描述
如果此时是”(“是栈顶,是不需要出栈的,把此时的”-“压入栈,直到遇到”)“,则依次出栈。
在这里插入图片描述

在这里插入图片描述
这个算法是中缀表达式求值与中缀表达式转后缀的结合。
在这里插入图片描述

三、栈在递归中的应用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值