如果想要删除vector中值为val的元素,最容易想到的方法就是对vector进行遍历,然后遇到值为val时就将其删除。比较好的是vector容器有erase操作。
但是这儿需要注意,与list中的erase不同,list的erase操作之后,之前获得的迭代器还是有效的,而在vector中因为vector是顺序存储,所以,一旦删除一个元素,之前获得的迭代器就会失效了,vector.begin()和vector.end()是变化的。注意到,erase的返回值是一个迭代器,而这个迭代器就是指向删除之前元素后的第一个元素。注意到这一点我们可以采用下面的方法实现:

void remove_v(vector< int>& v, int val){
    vector< int>::iterator ite;
     for(ite=v.begin();ite!=v.end();){
         if(*ite==val)
            ite=v.erase(ite);
    

vector中元素的删除相关推荐

  1. vector 中元素的删除

    vector 中删除元素的方法是:b.erase(it);  //b是vector, it 是 vector::iterator 但是删除vector 中的元素有些诡异(^_^),稍不注意,就会出错. ...

  2. 3.5链表----链表中元素的删除(只删除一个元素情况)

    3.5链表----链表中元素的删除(只删除一个元素情况) 该部分与上一节是息息相关的,关于如何在链表中删除元素,我们一步一步来分析: 一.图示删除逻辑 假设我们需要在链表中删除索引为2位置的元素,此时 ...

  3. ArrayList中元素的删除操作

    ArrayList中元素的删除操作 在聊 ArrayList 的删除删除操作之前,先来说说它的遍历方法. 一个 list 的遍历方法主要有三种: Iterator 迭代器遍历 遍历下标 for 循环遍 ...

  4. C++之vector中元素的N种遍历

    随着C++11标准的出现,C++标准添加了许多有用的特性,C++代码的写法也有比较多的变化.vector是经常要使用到的std组件,对于vector的遍历,本文罗列了若干种写法. 假设有这样的一个ve ...

  5. 【c++】vector中删除元素

    1.删除指定范围的元素 vector删除元素之pop_back(),erase(),remove() 向量容器vector的成员函数pop_back()可以删除最后一个元素. 而函数erase()可以 ...

  6. java.util.vector中的vector的详细用法

    ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些  import java.util.*; /**  * 演示Vector的使用.包括Vector ...

  7. vector用法 java_java.util.vector中的vector的详细用法

    /** *演示Vector的使用.包括Vector的创建.向Vector中添加元素.从Vector中删除元素.*统计Vector中元素的个数和遍历Vector中的元素.*/ public class ...

  8. vector中的push_back(涉及到动态分配),resize,reserve,swap方法解析

    目录 一.vector的push_back解析 二.size和capacity 三.resize和reserve 1.resize 2.reserve 四.关于reserve的应用 五.内存释放 sw ...

  9. 使用迭代器从map或vector中删除元素

    std:map的迭代器:删除时只影响当前元素 #include "stdafx.h" #include <map>std::map<int, int> m; ...

最新文章

  1. 分布式深度学习最佳入门(踩坑)指南
  2. 2016年全球芯片市场或衰退2.13%
  3. 超图js版本添加矢量图层并在图层上绘一个面要素
  4. c语言为正数无限大,无限大整数相加算法的C语言源代码
  5. linux创建数据库并设置密码,CentOS 8安装MySQL教程并创建数据库并添加用户
  6. 创金合信: 做的这些事
  7. 【语音去噪】基于matlab GUI谱减法+维纳滤波语音去噪(带面板+信噪比)【含Matlab源码 1661期】
  8. Oracle 在SQL语句中如何获取系统当前时间并进行操作
  9. 实战之多有米项目测试环境搭建
  10. C语言基础题练习10道
  11. TP5.1导出指定的多个日期的数据记录
  12. java中向上的尖括号是什么_T(尖括号)在Java中是什么意思?
  13. 服务总线 开源_UltraESB企业服务总线将开源
  14. C#操作Excel文件(读取Excel,写入Excel)
  15. Dynamics CRM 数据导出到Excel时列标题不能重复
  16. 服务器CPU占用率高,如何排查?
  17. extern的几种用法
  18. 二维平面成像模型(Models for transformations)(一)
  19. 毕业论文的流程图怎么画
  20. PVI(pvifa计算公式)

热门文章

  1. Linux 指令大全(2)(转)
  2. MongoDb配置文件中参数及其作用
  3. Picasso实现下载圆形头像以及圆角图片
  4. 金蝶eas系统服务器连接失败,金蝶EAS服务器安装错误
  5. 目录:什么是设计模式
  6. 敏捷开发“松结对编程”实践之一:人员结构篇(大型研发团队,学习型团队,139团队,师徒制度)
  7. Echarts数据转换transform
  8. 【Python】芝麻HTTP代理系列保姆级全套攻略(对接教程+自动领取每日IP+IP最优算法)
  9. 中科大-凸优化 笔记(lec9)-广义不等式、分离与支撑超平面、对偶锥与广义不等式
  10. 一行Python代码,畅玩童年经典游戏~