C_栈的应用----括号匹配的检验

假设表达式中允许包含三种括号:圆括号和方括号和大括号,其嵌套的顺序随意,即( [ ] ( ) )或者[ ( [ ] ) ]为正确格式,[(])或(()]均为不正确的格式,检验括号是否匹配的方法可用"期待的破却程度"来描述。下面来对括号是否匹配来进行检验对于检验括号是否匹配可以对其进行进栈和出栈来处理,遇到' ( '、' [ '、‘ { ’时对其进栈,遇到')'、‘]’、‘}’对其出栈,在算
摘要由CSDN通过智能技术生成

假设表达式中允许包含三种括号:圆括号和方括号和大括号,其嵌套的顺序随意,即( [ ] ( ) )或者[ ( [ ] ) ]为正确格式,[(])或(()]均为不正确的格式,检验括号是否匹配的方法可用"期待的破却程度"来描述。

下面来对括号是否匹配来进行检验

对于检验括号是否匹配可以对其进行进栈和出栈来处理,遇到' ( '、' [ '、‘ { ’时对其进栈,遇到')'、‘]’、‘}’对其出栈,在算法的开始结束的时候栈都应该是空的,每次遇到右括号出栈的时候都应该要有一个相同括号的左括号与其匹配,不然则视其出栈失败即括号不匹配

【(【】【】)】

例如上面一开始是1,2,3是左括号,那么从左往右开始进栈,栈底元素是1,2,3,当遇到第4个右括号的时候,堆栈进行出列,这时候出列的符号应该与4符号对应的左括号3,第3个括号出列,此时栈中只剩下1,2,遇到第5个括号时因为是左括号所以进栈,栈中元素是1,2,5,剩下6,7,8方法也和上面的一样,遵循出列的括号要是与遇到右括号对其,只要在算法开始和结束的时候,栈都应该是空的那么括号就是正确格式ÿ

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值