xiaobo620的专栏

不能忍受浪费时间,不能忍受没有激情。

C++STL笔记

vector

vector::erase函数

iterator erase ( iterator position );
iterator erase ( iterator first, iterator last );

Removes from the vector container either a single element (position) or a range of elements ([first,last)).

Because vectors keep an array format, erasing on positions other than the vector end also moves all the elements after the segment erased to their new positions, which may not be a method as efficient as erasing in other kinds of sequence containers (dequelist).

Return value

A random access iterator pointing to the new location of the element that followed the last element erased by the function call, which is the vector end if the operation erased the last element in the sequence.

erase函数要么删作指定位置loc的元素,要么删除区间[start, end)的所有元素.返回值是指向删除的最后一个元素的下一位置的迭代器.
删除vector中所有为8的元素
for(vector<int>::iterator it=arr.begin(); it!=arr.end(); )
    {
        if(* it == 8)
        {
            it = arr.erase(it);
        }
        else
        {
            ++it;//不能在写成for(:,:++it),注意erase的返回值,删除元素后所有元素往前移动it指向删除元素后的后边那个元素
        }
    }


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaobo620/article/details/7398852
个人分类: 我的复习笔记C++
上一篇C++转型
下一篇二叉树的操作 深度广度遍历,二叉树递归和非递归遍历
想对作者说点什么? 我来说一句

C++STL中文版. pdf

2009年09月29日 9.85MB 下载

C++STL Source.rar

2010年09月23日 16.42MB 下载

c++STL 中文版pdf

2017年12月03日 9.35MB 下载

C++STL程序员开发指南

2010年08月30日 17.1MB 下载

C++STL程序员开发指南 pdf

2009年05月25日 20.4MB 下载

stlsoft-1.9.91

2013年03月27日 1.97MB 下载

没有更多推荐了,返回首页

关闭
关闭