求数据结构c++舞伴配对问题程序代码
时间: 2024-05-11 09:18:18 浏览: 122
数据结构--队列实现舞伴配对问题+(舞伴程序++c++).doc
5星 · 资源好评率100%
以下是一个简单的舞伴配对问题的C++程序示例:
```c++
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<char> s;
string input;
cout << "请输入括号序列:";
cin >> input;
for (char c : input) {
if (c == '(') {
s.push(c);
} else if (c == ')') {
if (s.empty() || s.top() != '(') {
cout << "不匹配!" << endl;
return 0;
} else {
s.pop();
}
}
}
if (s.empty()) {
cout << "全部匹配!" << endl;
} else {
cout << "不匹配!" << endl;
}
return 0;
}
```
该程序使用栈来判断输入的括号序列是否匹配。遍历输入的字符串,如果遇到左括号,则将其压入栈中,如果遇到右括号,则弹出栈顶元素,并判断其是否与当前右括号匹配。如果遍历完字符串后,栈为空,则说明括号序列全部匹配;否则,说明有未匹配的括号。
阅读全文