数据结构括号匹配算法代码讲解_括号匹配的检验数据结构

数据结构括号匹配算法代码讲解_括号匹配的检验数据结构数据结构c++实现括号匹配以下是C++实现括号匹配的代码和解释:“`cpp#include <iostream>#include <stack>#include <str

数据结构–c++实现括号匹配   以下是C++实现括号匹配的代码和解释:   “`cpp   #include <iostream>   #include <stack>   #include <string>   using namespace std;   bool isMatch(char a, char b) {   if (a == ‘(‘ && b == ‘)’) return true;   if (a == ‘[‘ && b == ‘]’) return true;   if (a == ‘{‘ && b == ‘}’) return true;   return false;   }   bool check(string s) {   stack<char> st;   for (int i = 0; i < s.size(); i++) {   if (s[i] == ‘(‘ || s[i] == ‘[‘ || s[i] == ‘{‘) {   st.push(s[i]);   } else {   if (st.empty() || !isMatch(st.top(), s[i])) {   return false;   }   st.pop();   }   }   return st.empty();   }   int main() {   string s;   cin >> s;   if (check(s)) {   cout << “yes” << endl;   } else {   cout << “no” << endl;   }   return 0;   }   “`   解释:   1. `isMatch`函数用于判断两个括号是否匹配,如果匹配则返回`true`,否则返回`false`。   2. `check`函数用于检查输入的字符串是否符合括号匹配的规则。首先定义一个栈`st`,遍历字符串`s`中的每个字符,如果是左括号,则将其入栈;如果是右括号,则判断栈是否为空或者栈顶素与该右括号是否匹配,如果不匹配则返回`false`,否则将栈顶素出栈。最后如果栈为空,则说明括号匹配成功,返回`true`,否则返回`false`。   3. 在`main`函数中,首先读入一个字符串`s`,然后调用`check`函数进行括号匹配检验,如果返回`true`,则输出`yes`,否则输出`no`。

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

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

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

相关推荐

关注微信