文档章节

C++遍历删除vector中的元素

成长中的小白
 成长中的小白
发布于 2016/11/21 17:53
字数 143
阅读 72
收藏 0
#include <vector>
#include <algorithm>

int main(int argc,char *argv[])
{
    std::vector<int> v(8);
    for(auto x = v.begin(); x != v.end();)
    {
        for(*x % 2)
        {
            x = v.erase(x);
        }
        else
            ++x;         
    }
}

这样是正确的

下边看个不正确的:

int main(int argc,char *argv[])
{
    std::vector<int> v(8);
    for(auto x = v.begin(); x != v.end();x++)     
    {
        for(*x % 2)
        {
            v.erase(x);            //因为erase后,指针会自动只想被删除的下一个元素,所以,上边再++就会指向下一个的下一个,所以,这儿应该再
            //x--;                //加上这一句就对了
        }
    }
}

© 著作权归作者所有

共有 人打赏支持
成长中的小白
粉丝 0
博文 19
码字总数 11272
作品 0
深圳
程序员
私信 提问
Effective STL - 容器

STL(standard template library)提供了一组表示容器,迭代器,函数对象和算法的模板。容器是一个与数组类似的单元,可以存若干个值。 STL容器是同质的,即存储的值的类型相同;算法是完成特...

積木leayn
2013/10/07
0
0
C++ STL学习——vector

学过C++的人肯定会很熟悉STL标准模板库,STL其实就是封装了一系列的接口,供我们调用。很多函数或者算法的实现不需要我们从头开始写,大大提高我们的编程效率。这篇博客在简单介绍STL的情况下...

chenyufeng1991
2016/08/21
0
0
C++ STL学习——algorithm

在之前的博客中我们学习了很多STL中的模板库,包括deque,queue,stack,list等,他们都是一种数据结构,也就是说STL已经为我们实现了。今天我们来讲讲STL中比较大的一个库. 主要是一些算法的...

chenyufeng1991
2016/09/24
0
0
C++ 标准库 vector list map使用方法

1.List List将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢. list对象函数 assign() 给list赋值 back() 返回最后一个元素 begin() 返回指向...

依燃飯忒稀
2013/03/14
0
0
C++ STL学习——list

如果由我们自己来实现一个链表,会写上不少代码,包括要实现创建、删除、插入等等操作。但是如果我们用了STL,那么该模板库就为我们提供了一个双向链表list,可以让我们非常方便的实现链表操作...

chenyufeng1991
2016/08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Beautiful Soup

定义 Python中的一个库,主要用于从网页爬取数据; 安装 pip install beautifulsoup4 四大对象 Beautiful Soup将复杂的HTML文档转换成树形结构,树中的每个节点都是Python对象,对象可归纳为...

村雨1943
35分钟前
3
0
Visual Studio 昨日发布新版本:增加实时同步编程、共同调试

多名开发者可以在同一个项目中编程,在编写代码和调试代码时只需发送一个 URL 网址,就能邀请他人参与协作,而且无需重新配置开发环境和安装任何附加包。该服务支持 Windows、Mac 与 Linux ...

linuxCool
38分钟前
4
0
发现一种不错的学习方法

这是在《软技能,代码之外的生存之道》所看到的一种学习方法,感觉这个理念不错,分享出来,共勉。 我的「十步学习法」 多年以来,我都承受着巨大的压力:快速学习新技术、新编程语言、新框架...

firepation
38分钟前
2
0
webpack4配置详解之常用插件分享

前言   继上一次webpack的基础配置分享之后,本次将分享一些工作中项目常用的配置插件、也会包含一些自己了解过觉得不错的插件,如有分析不到位的,欢迎纠错,嗯,这些东西文档都有,大佬可...

苏南-首席填坑官
55分钟前
12
1
升压变换器 Boost

工作特点 输入输出极性相同。 开关管 MOS 和负载构成并联,在MOS 导通时,电流通过 L 滤波,电源对 L 充电。 当 MOS 断开时,L 向负载及电源放电,输出电压将是 Ui+U L ,达到升压的目的。 ...

colinux
57分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部