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++
    +关注

    关注

    22

    文章

    2108

    浏览量

    73649
  • Vector
    +关注

    关注

    3

    文章

    60

    浏览量

    8602
收藏 人收藏

    评论

    相关推荐

    c++vector容器

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

    删除数组元素

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

    vector用法总结(转载)

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

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

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

    Visual C++ 6.0 高级编程 -下载

    Visual C++ 6.0 高级编程,免费下载:全面介绍了Visual C++ 6.0的中高级编程威廉希尔官方网站 ,其内容主要有:内存管理、高级图形处理、使用Internet、创建多线程程序、创
    发表于 07-12 15:25 0次下载
    Visual <b class='flag-5'>C++</b> 6.0 高级<b class='flag-5'>编程</b> -下载

    编程C C++初学者+FAQ

    编程C C++初学者+FAQ
    发表于 09-06 14:55 80次下载

    C++编程思想

    C++编程思想,很好的资料,大家下载看看吧!够20字了吧,哈哈哈!
    发表于 11-17 11:38 0次下载

    Android C++高级编程----使用NDK

    Android C++高级编程----使用NDK
    发表于 03-19 11:23 3次下载

    C++vector的定义与初始化

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

    C++编程调试秘笈

    C++编程调试秘笈资料下载。
    发表于 06-01 15:35 15次下载

    CC++经典著作-C专家编程.PDF

    CC++经典著作-C专家编程.PDF
    发表于 12-13 17:11 0次下载

    CC++实物精选《C专家编程

    CC++实物精选《C专家编程
    发表于 01-17 09:55 0次下载

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

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

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

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

    c++怎么开始编程

    C++是一种高级的、通用的编程语言,用于开发各种类型的应用程序。它是从C语言演变而来,也是一种静态类型语言,可以在不同的平台上进行开发。C++具有高度的灵活性和性能,并且广泛应用于游戏
    的头像 发表于 11-27 15:56 928次阅读