使用 vector 检查表达式中的括号是否平衡
Checking if the parenthesis in a expression are balanced using vector
我正在尝试检查一串括号是否平衡。我正在尝试在 c++ 中使用向量。输出应该是向量的大小,如果大小为 0,则字符串是平衡的,如果不是,则不平衡。但是,我得到了以下代码的空白输出。
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
int j;
vector<char>a;
for(int i=0;i<s.length();i+=1){
a.push_back(s[i]);
}
for(int i=0;i<a.size();i+=1){
if (a[i]=='(') {
j=i;
while(a[j]!=')')
j+=1;
} else if(a[j]==')') {
a.erase(a.begin()+i);
a.erase(a.begin()+j);
}
}
}
cout<<a.size();
return 0;
}
我希望输出是除括号之外的字符串中的元素数。但是,我没有得到该程序的任何输出。我怀疑问题出在矢量的擦除功能上。
我会先谷歌一下。无论如何,这是来自 cplusplus.com 的qoute
擦除元素 从矢量中删除单个元素 (位置(或一系列元素([第一个,最后一个((。
这有效地减少了容器尺寸的元素数量 删除,这些被销毁。
因为矢量使用数组作为其底层存储,所以擦除 位于矢量端以外位置的元素导致容器 将线段擦除后的所有元素重新定位到其新元素 位置。
所以我会说是的
相关文章:
- 在提升multi_index容器中,是否定义了"default index"?
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 检查输入是否不是整数或数字
- 是否可以初始化不可复制类型的成员变量(或基类)
- 在C++中,是否可以基于给定的标识符创建基类的新实例,反之亦然
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 此代码是否违反一个定义规则
- 是否需要删除包含对象的"pair"?
- 是否可以从int转换为enum类类型
- 无论条件是否为true,if总是在c++中执行
- 编写了一个C++代码来检查表达式是否具有平衡括号并且我的代码未运行.我已经卡了一天了
- 使用 vector 检查表达式中的括号是否平衡
- 平衡括号问题为什么要检查它是否为空?
- 使用堆栈来确定表达式是否具有平衡圆括号
- 检查二叉树是否平衡
- STL 映射容器在构造时是否优化(平衡树)
- 我是否应该担心Cassandra c++驱动程序的负载平衡选择?
- 是否允许std::map在只读操作后重新平衡(如Splay树)
- 检测圆括号,括号和大括号是否平衡的c++程序-需要在错误下输出插入符号
- 是否有可能从未排序的数组中高效地创建平衡二叉搜索树而不对数组进行排序?