0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C++ vector删除符合条件元素的编程技巧

电子设计 2018-09-20 10:03 次阅读

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
#include
#include
using namespace std;
int out(vector &iVec)
{
for(int i=0;i
cout<
cout<
return 0;
}
int main()
{
vector iVec;
vector::iterator it;
int i;
for( i=0;i<10;i++)
iVec.push_back(i);
cout<<"The Num(old):";out(iVec);
for(it=iVec.begin();it!=iVec.end();)
{
if(*it % 3 ==0)
it=iVec.erase(it); //删除元素,返回值指向已删除元素的下一个位置
else
++it; //指向下一个位置
}
cout<<"The Num(new):";out(iVec);
return 0;
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72892
  • Vector
    +关注

    关注

    3

    文章

    45

    浏览量

    8411
收藏 人收藏

    评论

    相关推荐

    c++vector容器

    1.vector容器介绍       向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为
    的头像 发表于 07-13 19:36 601次阅读
    <b class='flag-5'>c++</b>之<b class='flag-5'>vector</b>容器

    C++应用编程200例

    C++应用编程200例http://www.ibeifeng.com/read.php?tid=15303&u=73481【清华大学】【C++教学代码,PPT】【全】http://www.ibeifeng.com/rea
    发表于 12-20 21:23

    【自学C++必看】C++编程应用200例

    【自学C++必看】C++编程应用200例
    发表于 08-19 16:08

    删除或替换数组中某元素

    本帖最后由 samuergao 于 2014-11-21 14:01 编辑 曾经遇到想删除数组中某个元素的问题,比如要删除或者替换一个数组中所有为10的元素,编了个小小的程序。布
    发表于 07-01 16:24

    删除数组元素

    删除数组元素作为条件结构的条件输入端是怎么回事啊。。。
    发表于 03-30 15:51

    诚聘PLC、FPGA、matlab、C++C编程兼职技术

    正规工作室,因业务量大,在职技术无法供应。现诚聘PLC、FPGA、matlab、C++C编程兼职技术(有做电路板条件,在校研究生亦可)!有意者联系QQ:740718010,期待与你合
    发表于 04-24 11:51

    vector用法总结(转载)

    ,并且for中的测试比较ix和0。第一次循环时,由于ix本身就是0,则条件测试失败,for循环体一次也不执行。关键概念:安全的泛型编程C++程序员习惯于优先选用!=而不是
    发表于 05-01 15:22

    matlab矩阵如何索引符合特定条件元素

    matlab 中 如何所以符合特定条件元素,比如 索引大于1的输出来
    发表于 11-12 10:52

    Google C++编程指南

    Google C++编程指南目标:增强代码一致性,创建通用的、必需的习惯用语和模式可以使代码更加容易理解C++是一门包含大量高级特性的巨型语言,某些情况下,我们会限制甚至禁止使用某些特性使代码简化
    发表于 11-29 09:15

    如何学习编程c++语言?

      如何学习编程c++语言?粤嵌来讲解嵌入式C语言在各种项目中要用到的知识点,尤其是嵌入式C语言之变量与常量的内容:   1、变量类型和表示方法   如何学习
    发表于 12-15 08:28

    C++编程语言的应用领域有哪些

    C++作为一种编程语言,从其诞生之日至今,已经在软件业的历史上扮演了至关重要的角色。它强大的语言功能和灵活的语言机制是无数程序员为之折腰。而C++中蕴含的OO,GP等编程思想,更是潜移
    发表于 12-15 06:58

    C++vector的定义与初始化

    C++中的vector vector(向量)是一种序列式容器,类似于数组,但比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥
    的头像 发表于 02-02 16:41 8512次阅读
    <b class='flag-5'>C++</b>中<b class='flag-5'>vector</b>的定义与初始化

    浅析LeetCode 83删除排序链表中的重复元素

    给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。
    的头像 发表于 02-06 10:25 442次阅读

    C++学习笔记之顺序容器

    C++中的顺序容器是一种用于存储和管理元素序列的数据结构。它们提供了一组有序的元素,并支持在序列的任意位置插入和删除元素
    的头像 发表于 05-11 17:05 398次阅读

    动态数组和C++ std::vector详解

    std::vectorC++的默认动态数组,其与array最大的区别在于vector的数组是动态的,即其大小可以在运行时更改。std::vector是封装动态数组的顺序容器,且该容器
    的头像 发表于 07-19 11:07 710次阅读