堆栈括号匹配C语言_堆栈括号匹配c语言代码

堆栈括号匹配C语言_堆栈括号匹配c语言代码利用堆栈解决括号匹配问题 [C语言][括号序列][有效的括号][堆栈]题目描述:给出一个仅包含字符'(‘,’)’,'{‘,’}’

利用堆栈解决括号匹配问题 [C语言][括号序列][有效的括号][堆栈]   题目描述:   给出一个仅包含字符'(‘,’)’,'{‘,’}’,'[‘和’]’,的字符串,判断给出的字符串是否是合法的括号序列   括号必须以正确的顺序关闭,”()”和”()[]{}”都是合法的括号序列,但”(]”和”([)]”不合法。   题目来源:   括号序列_牛客题霸_牛客网   力扣   题解:   拿来自己的堆栈模板(写好了堆栈的创建入栈出栈等基础操作的代码),再往模板里添加 非法输入检查函数IsIllegal()和括号匹配检查函数Check(),然后在main()函数就可以测试效果了。   括号匹配检查函数为解决问题的核心代码   主要思路:   首先先考虑限定条件:   1.题目规定,输入的字符串仅由括号构成。如果不止由括号构成可以自己再写个过滤器,具体函数如下:   2.括号匹配的情况下,字符串数量一定是偶数个。所以输入的字符串长度为奇数的话,直接返回不匹配   之后确定匹配思路:   逐个遍历字符串   遇到 { [ ( 这些左括号时便将其入栈   遇到 ) ] } 这些右括号时查看栈顶素是否为匹配的左括号,并将其出栈,是的话就通过,进入下一个循环,不是的话就直接返回不匹配   A.当右括号多时,即入栈少出栈多,在循环内每次出栈前添加判断,如果堆栈为空,就为不匹配   B.当左括号多时,即入栈多出栈少,在循环结束后,堆栈内还有素,此时也算括号不匹配   当左右括号一样多且括号都能匹配的时候,就返回匹配   具体代码如下:   完整代码如下:   几次测试结果的运行截图
堆栈括号匹配C语言_堆栈括号匹配c语言代码   菜鸡第一次写博客,如果有啥bug或者啥建议可以吐槽一下qwq

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/23236.html

(0)
上一篇 2024年 9月 14日 下午5:56
下一篇 2024年 9月 14日 下午6:04

相关推荐

关注微信