数据结构括号匹配算法 C 数据结构,判断一个字符串中括号是否匹配?
C 数据结构,判断一个字符串中括号是否匹配?
这个想法是在遇到左括号时进入堆栈,在遇到右括号时判断堆栈的顶部元素是否与左括号匹配。如果不是,则返回false;如果是,则弹出堆栈的顶部元素,然后继续下一个字符。判断函数如下:bool is ucomm uuuuustack(char const*src){assert(src)char ch char const*p=src stack<char> s while(*p){switch(*p){case“(”:case”[”:case“{”:s.push(*p)break case”:if(!s、 empty()){if((ch=s.top())!=“(”)return false else{s.pop()break}}else return false case“]”:if(!s、 empty()){if((ch=s.top())!=“[”)return false else{s.pop()break}}else return false case“}”:if(!s、 empty()){if((ch=s.top())!=“{”)return false else{s.pop()break}}else return false默认值:break}p}if(!s、 empty())return false显然,您需要先了解一种编程语言。数据结构可以用不同的语言实现。您可以看到常用的数据结构教材,有的基于C,有的基于CPP,还有的基于Java。先学习一门语言(不一定是C),然后再看数据结构,这将帮助您了解各种算法和结构是如何实现的。事实上,当我刚开始编程时,我以为我在学习一门新语言。和外国人打交道就像学英语一样。你学习高级语言来处理计算机(事实上,它们只是编译器)。你可以“翻译”你想对她说的话,告诉她我想做什么,我想成为什么样的人。在这个时候,您所学到的并不像数据结构那样符合逻辑。有些东西必须死记硬背(括号的配对,什么是常量变量关键字,各种语句的使用规则,数组的定义和使用…)不要觉得这么复杂,只知道发生了什么。之后,还有一些有趣的东西值得研究——比如指针
数据结构括号匹配算法 括号匹配问题 栈c语言 c语言数据结构栈括号匹配
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。