C++ vector删除符合条件的元素示例分享

 更新时间:2014年02月27日 10:17:42   作者:  
这篇文章主要介绍了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<iostream>
#include<string>
#include<vector>
using namespace std;

int out(vector<int> &iVec)
{
    for(int i=0;i<iVec.size();i++)
        cout<<iVec[i]<<ends;
    cout<<endl;
    return 0;
}

int main()
{
    vector<int> iVec;
    vector<int>::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;
}



相关文章

  • VC List Control控件如何删除选中的记录实例详解

    VC List Control控件如何删除选中的记录实例详解

    这篇文章主要介绍了VC List Control控件如何删除选中的记录实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • C++的智能指针你真的了解吗

    C++的智能指针你真的了解吗

    这篇文章主要为大家详细介绍了C++的智能指针,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • 一篇文章带你了解C++ static的作用,全局变量和局部变量的区别

    一篇文章带你了解C++ static的作用,全局变量和局部变量的区别

    这篇文章介绍了C++ static的作用,全局变量和局部变量的区别,需要的朋友可以过来参考下,希望能够给你带来帮助
    2021-09-09
  • C++实现String类的方法详解

    C++实现String类的方法详解

    在C语言中,没有专门用来表示字符串的类型。虽然C语言为字符串提供了一系列的库函数,但这些函数与字符串这个类型是分开的。所以在C++中封装了一个string类,来帮助我们操作字符串,本文就为大家提供了实现String类的方法,需要的可以参考一下
    2022-08-08
  • 解析c++ 中智能指针引用计数为什么不是0原理

    解析c++ 中智能指针引用计数为什么不是0原理

    这篇文章主要为大家介绍了C语言中智能指针引用计数为什么不是0原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • C语言中main函数两个参数的作用

    C语言中main函数两个参数的作用

    这篇文章主要介绍了C语言中main函数两个参数的作用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • C语言测试n的阶乘和x的n次方

    C语言测试n的阶乘和x的n次方

    今天小编就为大家分享一篇关于C语言测试n的阶乘和x的n次方,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • C++设计模式之解释器模式

    C++设计模式之解释器模式

    这篇文章主要介绍了C++设计模式之解释器模式,本文讲解了什么是解释器模式、文法规则和抽象语法树、解释器模式的使用场合等内容,需要的朋友可以参考下
    2014-10-10
  • C++通过循环实现猜数字小游戏

    C++通过循环实现猜数字小游戏

    这篇文章主要为大家详细介绍了C++通过循环实现猜数字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • C++20中的span容器及用法小结

    C++20中的span容器及用法小结

    std::span 是一个非常实用的工具,可以方便地对数据进行访问和处理,同时也可以提高代码的可读性、可维护性和安全性,这篇文章主要介绍了C++20中的span容器,需要的朋友可以参考下
    2023-03-03

最新评论