std中vector和list容器遍历时元素的动态删除
2014-11-04 15:02
253 查看
问题描述如下:
在容器遍历过程中怎样动态地删除满足条件的元素,而不影响容器本次的遍历过程
代码:
在容器遍历过程中怎样动态地删除满足条件的元素,而不影响容器本次的遍历过程
代码:
#include "stdafx.h" #include <list> #include <vector> #include <iostream> using namespace std; void main() { list<int> l; for(int i=0;i<10;i++) //存储1~10的元素值 { l.push_back(i+1); } list<int>::iterator it=l.begin(); while(it!=l.end()) { list<int>::iterator lsave; if(*it%2==0) //删除偶数元素 { lsave=it; it++; l.erase(lsave); } else { it++; } } it=l.begin(); while(it!=l.end()) //遍历该list { cout<<*it<<" "; it++; } //********************************** cout<<endl<<"*******************"<<endl; vector<int> vec; for(int i=0;i<10;i++) { vec.push_back(i+1); } vector<int>::iterator it1=vec.begin(); for(int i=0;i<vec.size();i++) { if(vec[i]%3==0) { vec.erase(i+it1); } } it1=vec.begin(); while(it1!=vec.end()) { cout<<*it1<<" "; it1++; } cout<<endl; system("pause"); }
相关文章推荐
- vector list map 遍历删除制定元素 防止迭代器失效
- vector, list, map在遍历时删除符合条件的元素
- Java动态 遍历List 时删除List特征元素 异常问题 及解决方案总结
- java遍历List时动态添加和删除元素
- vector, list, map在遍历时删除符合条件的元素实现方法
- C++ Primer 9.35——循环遍历vector容器删除指定元素的标准写法
- Java动态遍历List 时删除List特征元素
- CCArray数组或者vector容器元素在遍历时删除的删除技巧
- 如何在遍历list,vector,map时删除符合条件的元素
- 如何在遍历list,vector,map时删除符合条件的元素
- vector list map 遍历删除指定元素
- vector list map 遍历删除制定元素 防止迭代器失效的实例
- 如何在遍历list,vector,map时删除符合条件的元素
- Java动态 遍历List 时删除List特征元素 异常问题 及解决方式总结
- 遍历std::list过程中删除元素后继续遍历过程
- STL容器:在遍历的过程中删除元素
- std::map 通过遍历删除满足某些条件元素的两种方式
- stl vector/list如何一边遍历一边删除
- vector容器添加和删除元素
- stl容器在循环遍历中删除元素的方式