vector之erase
来源:互联网 发布:mysql表锁了怎么办 编辑:程序博客网 时间:2024/05/17 23:44
v1 = [10 20 30 40 50]
- v1.erase(
v1.begin( ) );
2. v1.erase(
v1 = 20 50(只删掉了30,40)
那现在如果该容器中有两个元素10要怎么删除呢?
- for(Iter = v1.begin(); Iter != v1.end(); Iter++)
- {
-
if(*Iter == 10) -
{ -
v1.erase(Iter); -
Iter = v1.begin(); //当erase后,旧的容器会被重新整理成一个新的容器 -
} - }
重新Iter迭代器指定下一个元素.
上面那种方法是给Iter重新赋于新v1的begin迭代器。
还有一种方法是直接赋删除元素的下一个迭代器给Iter
实现方法的代码如下:
- for(Iter = v1.begin(); Iter != v1.end(); Iter++)
- {
-
if(*Iter == 10) -
{ -
Iter = v1.erase(Iter);//Iter为删除元素的下一个元素的迭代器 -
//即第一次这段语句后Iter 会是20,大家可以通过debug调试出来查看下数值 -
} -
-
if(Iter == v1.end()) //要控制迭代器不能超过整个容器 -
{ -
break; -
} - }
0 0
- vector之erase
- vector之erase()
- vector 与list 之erase
- erase vector
- vector erase
- vector erase
- vector erase
- Vector-Erase
- c++之map与vector的erase
- vector删除元素之pop_back(),erase(),remove()
- C++ vector 之 erase 多个元素的常用方法
- STL vector的之erase应用iterator
- std::vector::erase
- vector & erase
- Erase Element From Vector
- vector erase()删除
- 使用vector::erase
- vector :: erase 出错问题
- 双十一福利大放送,传智播客为你送温暖
- Android系列教程之TextView小组件的使用--附带超链接和跑马灯效果
- 苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程(精)
- HTTP Status 500 - For input string: " 1"
- Qt4.8.1学习笔记1—QTreeWidget控件的使用
- vector之erase
- 机器学习复习——朴素贝叶斯
- 关于HTTP的工作原理
- Android开发指南——摄像头camera使用(转)
- linux服务器校对时间方法
- Keepalived实现Redis Failover自动故障切换
- ViewDragHelper实现右划关闭Activity
- Quartz Cron 表达式详解
- ThinkAndroid框架