vector对象一边遍历一边删除元素
2017-04-11 21:43
281 查看
今天做携程的笔试题,附加编程题是删除一行字符串里面的标点符号,关于一边遍历一边删除的问题,坑踩到好几次了,真是好气啊,明明很简单的问题,写下来防止自己忘了
自己忘了else的条件了,结果最后老不出结果,一调试发现死循环了,真的好气啊
bool f(vector<char> &str) {
int end = str.size();
bool state = false;
auto it = str.begin();
while (it != str.end())
{
if (ispunct(*it))
{
state = true;
it = str.erase(it);
}
else
it++;
}
return state;
}
自己忘了else的条件了,结果最后老不出结果,一调试发现死循环了,真的好气啊
bool f(vector<char> &str) {
int end = str.size();
bool state = false;
auto it = str.begin();
while (it != str.end())
{
if (ispunct(*it))
{
state = true;
it = str.erase(it);
}
else
it++;
}
return state;
}
相关文章推荐
- C++ vector一边遍历一边删除元素
- C++ vector一边遍历一边删除元素
- C++ vector一边遍历一边删除元素
- 如何在遍历list,vector,map时删除符合条件的元素
- 一个ArrayList对象aList中存有若干个字符串元素,现欲遍历该ArrayList对象,删除其中所有值为"abc"的字符串元素,请用代码实现。
- vector list map 遍历删除制定元素 防止迭代器失效
- 删除vector容器中的对象元素的三种方法:pop_back, erase与remove算法
- C++遍历删除vector中的元素
- stl vector/list如何一边遍历一边删除
- JAVA List 一边遍历一边删除元素,报java.util.ConcurrentModificationException异常
- 简单实现遍历vector 删除所有相同的元素
- 一个 ArrayList 对象 aList 中存有若干个字符串元素,现欲遍历该 ArrayList 对象,删除其中 所有值为"abc"的字符串元素,请用代码实现。
- 数组如何一边遍历一边删除元素
- 删除vector容器中的对象元素的三种方法:pop_back, erase与remove算法
- 如何在遍历list,vector,map时删除符合条件的元素
- c++中vector的遍历及元素删除
- 如何在遍历list,vector,map时删除符合条件的元素
- vector, list, map在遍历时删除符合条件的元素
- std中vector和list容器遍历时元素的动态删除
- vector, list, map在遍历时删除符合条件的元素实现方法