C++ vector 删除符合条件的元素
C++ vector中实际删除元素使用的是容器vecrot中std::vector::erase()方法。
C++ 中std::remove()并不删除元素,因为容器的size()没有变化,只是元素的替换。

1.std::vector::erase()
  函数原型:iterator erase (iterator position);  //删除指定元素
       iterator erase (iterator first, iterator last);  //删除指定范围内的元素

  返回值:指向删除元素(或范围)的下一个元素。(An iterator pointing to the new location of the element that followed the last element erased by the function call. This is the container end if the operation erased the last element in the sequence.)

2.样例

#include <vector>
#include <iostream>
#include <string>
using namespace std;int main()
{vector<int> veci;vector<int>::iterator it;int i;for (i = 0; i < 30;i++){veci.push_back(i);}for (it = veci.begin(); it != veci.end(); ){if (*it%3==0){it = veci.erase(it);}else{++it;}}for (int i = 0; i < veci.size();i++){cout << veci.at(i) << " ";}cout << endl;cout << "========将vector值传递给其他参数,同时判断是否满足删除要求========" << endl;vector<int>::iterator itc = veci.begin();vector<int> vecTemp;for (int i = 0; i < veci.size(),itc!=veci.end();i++){vecTemp.push_back(veci.at(i));if (*itc % 2 == 0){itc = veci.erase(itc);i--;}else{++itc;}}for (int i = 0; i < veci.size(); i++){cout << veci.at(i) << " ";}cout << endl;for (int i = 0; i < vecTemp.size(); i++){cout << vecTemp.at(i) << " ";}return 0;
}

参考:https://www.cnblogs.com/xudong-bupt/p/3522457.html

C/C++ vector 删除指定元素相关推荐

  1. vector删除指定元素

    C++ vector中实际删除元素使用的是容器vecrot中std::vector::erase()方法. C++ 中std::remove()并不删除元素,因为容器的size()没有变化,只是元素的 ...

  2. vector 删除指定元素_std::vector简介

    引入 使用vector,需添加头文件#include<vector>, 要使用sort或find,则需要添加头文件#include<algorithm>. 简介 vector是 ...

  3. java vector删除指定元素_C++ vector删除元素(数据)详解

    正像所说的那样,只能通过容器的成员函数来删除元素.可以通过使用 vector 的成员函数 clear() 来删除所有的元素.例如: std::vector data(100, 99);// Conta ...

  4. 【c++】8.map和vector容器查找、删除指定元素、emplace、insert

    1.查找与删除 vector 和 map 容器中指定元素 vector 查找或删除vector的指定元素"123" 方法1:使用迭代器 不同于map(map有find方法),vec ...

  5. C++ vector容器 find erase的使用:查找并删除指定元素

    概念:容器.迭代器.算法 STL包括容器.迭代器和算法: 容器 用于管理一些相关的数据类型.每种容器都有它的优缺点,不同的容器反映出程序设计的不同需求.容器自身可能由数组或链表实现,或者容器中的每个元 ...

  6. Redis中有序集合zset数据类型(增加(添加元素)、获取(获取指定范围元素、返回权值在min和max之间的成员、返回成员member的score值)、删除(删除指定元素和指定权值范围的元素))

    sorted set,有序集合 元素为string类型 元素具有唯⼀性,不重复   [值不能重复] 每个元素都会关联⼀个double类型的score,表示权重,通过权重将元素从⼩到⼤排序 说明:没有修 ...

  7. Redis中集合set数据类型(增加(添加元素)、获取(获取所有元素)、删除(删除指定元素))

    ⽆序集合 元素为string类型 元素具有唯⼀性,不重复 说明:对于集合没有修改操作 [没有更新功能][应用:购物车中会用到] 1. 增加 1.1 添加元素 sadd key member1 memb ...

  8. Redis中列表list数据类型(增加(在左侧、右侧或指定元素前后插入数据)、获取(获取表内指定范围的元素)、更新(获取指定索引位置的元素值)、删除(删除指定元素、count))

    列表的元素类型为string 按照插⼊顺序排序 1. 增加 1.1 在左侧插⼊数据 lpush key value1 value2 ... 例1:从键为a1的列表左侧加⼊数据a . b .c lpus ...

  9. js list删除指定元素_删除js数组中的指定元素,有这两步就够了

    js数组是js部分非常重要的知识,有时我们有这么个需求js数组删除指定元素,先定义一个函数来获取删除指定元素索引值,然后用js数组删除的方法,来删除指定元素即可,就两步不难,很简单. 1.JS的数组对 ...

最新文章

  1. Oracle中的substr()函数 详解及应用
  2. Scala协变与Java泛型
  3. LeetCode-Reverse Integer
  4. MyBatis-plus使用
  5. 软件工程与UML案例解析
  6. 详解Numpy的广播机制
  7. 类成员指针和0x0地址转换
  8. Linear Regression Example
  9. android viewpager 底部tabhost,FragmentTabHost+ViewPager实现底部导航栏
  10. C++打印size_t和ssize_t和int64_t和uint64_t
  11. 网上招生报名系统V1.0发布
  12. 微信也QQ服务器,妄想山海QQ区还是微信区好 平民服务器选择推荐
  13. python writelines_详解详解Python中writelines()方法的使用
  14. 一本快速入门ARM64体系结构的编程书
  15. 如何科学地利用A/B测试快速迭代产品?
  16. 独上高楼望尽天涯路;为伊得人憔悴、衣带渐宽终不悔;几处早莺争暖树,乱花渐欲迷人眼;梅先菊后何须较、好似人生各有时;
  17. AlphAction编译不通过问题:error: command ‘:/home/yst/cudas/cuda-10.0/bin/nvcc‘ failed with exit status 1
  18. Revel框架快速入门教程
  19. C:\ProgramData\Microsoft\VisualStudio创建软连接,腾出C盘空间
  20. 程序员,别太把技术入股当做一回事

热门文章

  1. 西浦计算机系怎么样,西交利物浦大学
  2. 前端安全系列:如何防止XSS攻击?
  3. 关于手机,最近想了这些
  4. MAC抓包工具Charles
  5. 学软件开发为什么要选 “猿代码任务制培训模式”?
  6. 象牙色优雅图像LR预设
  7. 关键词提取(keyword extraction)技术
  8. Linux 启动过程详解
  9. WebGL教程(电子书)
  10. 浅析Python装饰器中的@property