vector list map 遍历删除指定元素
2017-05-10 16:15
666 查看
#include <stdio.h> #include <stdint.h> #include <vector> #include <list> #include <map> template<typename T> void Dump(const T &s) { for (T::const_iterator it = s.begin(); it != s.end(); ++it) { printf("%d ", *it); } printf("\n"); } void DelVector() { std::vector<int32_t> vec{ 1, 2, 3, 4, 5, 6, 7, 8, 9 }; Dump(vec); for (auto it = vec.begin(); it != vec.end();) { if (*it % 2 == 0) { it = vec.erase(it); } else { ++it; } } Dump(vec); } void DelList() { std::list<int32_t> ls{ 1, 2, 3, 4, 5, 6, 7, 8, 9 }; Dump(ls); for (auto it = ls.begin(); it != ls.end();) { if (*it % 2 == 0) { it = ls.erase(it); } else { ++it; } } Dump(ls); } void DelMap() { std::map<int32_t, int32_t> map{ { 1, 2 }, { 2, 3 }, { 3, 4 }, { 4, 5 }, { 5, 6 }, { 6, 7 }, { 7, 8 }, { 8, 9 }, { 9, 10 } }; Dump(map); for (auto it = map.begin(); it != map.end();) { if (it->first % 2 == 0) { it = map.erase(it); } else { ++it; } } Dump(map); } int32_t main() { DelVector(); DelList(); DelMap(); getchar(); return 0; }
![](https://images2015.cnblogs.com/blog/627533/201705/627533-20170510161453441-771704105.png)
相关文章推荐
- vector list map 遍历删除制定元素 防止迭代器失效
- 如何在遍历list,vector,map时删除符合条件的元素
- vector, list, map在遍历时删除符合条件的元素
- 如何在遍历list,vector,map时删除符合条件的元素
- vector, list, map在遍历时删除符合条件的元素实现方法
- 如何在遍历list,vector,map时删除符合条件的元素
- vector list map 遍历删除制定元素 防止迭代器失效的实例
- Java如何在List或Map遍历过程中删除元素
- 编程技巧系列(2)Java 集合(List,Set,Map)遍历时有条件删除特定元素
- C++/STL用erase删除元素(vector,deque),(list,set,map)
- vector/list/map/set的插入、删除、遍历 - remove\erase函数
- 【Java】集合(List、Set、Map)遍历、删除、比较元素时的小陷阱
- List,Set,Map遍历时删除元素
- 遍历list或map时删除元素(较巧妙)
- std中vector和list容器遍历时元素的动态删除
- stl的vector,map,list删除元素
- C++ Primer 9.35——循环遍历vector容器删除指定元素的标准写法
- c++如何遍历删除map/vector里面的元素
- Java遍历时删除List、Set、Map中的元素(源码分析)
- 【C#编程】遍历List并删除指定元素的正确方式