今天做笔试题时,一道很简单的题,思路特别简单,但由于我erase老是出问题,最后就没通过,好气啊。

erase返回值是一个迭代器,由于指向的元素被删了,后面的元素会上来(我看STL源码剖析的图),它指向删除元素下一个元素;如果是删除某范围内的元素时:返回值也表示一个迭代器,指向最后一个删除元素的下一个元素。

调用erase()后迭代器就失效了,变成了一野指针,所以要记得给他重新赋值。

还有,我做题时,是在从后往前比较,所以要注意需不需要写 P--.

如果是从前往后,删除重复的元素这种问题时,就要注意P--,因为由于指向了下一个元素,再加上如果循环里P++,所以P就会漏掉元素,就会有元素没有参与比较。

如下,就是这道笔试题中的一部分,是从后往前比较,删除需要删除的元素:

vector erase相关推荐

  1. 判断线段相交 + vector. erase迭代指针 的使用 poj 2653 Pick-up sticks

    题目来源:http://poj.org/problem?id=2653 分析: 题意:按顺序给出一些木棍,输出在最上面的木棍标号. 用vector 存储木棍标号, 当前木棍与 vector 中的木棍 ...

  2. map/vector erase

    问题核心:erase之后迭代器是否失效 vector调用erase之后,该迭代器之后的迭代器都失效: map调用erase之后,其他迭代器并不会失效. 1 vector<int> vecD ...

  3. C++里vector::erase函数

    vector::erase():从指定容器删除指定位置的元素或某段范围内的元素  vector::erase()方法有两种重载形式  如下:  iterator erase(   iterator _ ...

  4. vector erase() and clear() in C++ -- vector的函数erase()和clear()

    Vectors are same as dynamic arrays with the ability to resize itself automatically when an element i ...

  5. 1.vector::clear和vector::erase的区别

    1.vector::clear()函数的作用是清空容器中的内容,但如果是指针对象的话,并不能清空其内容,必须要像以下方法一样才能达到清空指针对象的内容: vector<int*> xx; ...

  6. c语言vector+erase用法,vector.erase用法注意事项

    转自->这里 vector::erase():从指定容器删除指定位置的元素或某段范围内的元素 vector::erase()方法有两种重载形式 如下: iterator erase(iterat ...

  7. vector erase使用

    文章目录 vector erase原型 删除普通元素 删除指针元素 remove与erase混合使用 vector erase原型 // erase的函数原型有两种形式 iterator erase( ...

  8. vector::erase()方法的详细介绍及问题解答

    转载地址:http://www.tiansin.com/thread-446.html vector::erase():从指定容器删除指定位置的元素或某段范围内的元素 vector::erase()方 ...

  9. C++ 容器 LIST VECTOR erase

     在Vector中 做erase操作就是按照下面的步骤来做的: copy() destory(); 在list容器中 erase操作 destory() deallocate() Vector使用从某 ...

  10. 【C++】 vector.erase()

    函数原型 erase的函数原型有两种形式: iterator erase(iterator position); iterator erase(iterator first, iterator las ...

最新文章

  1. I00031 Look-and-say sequence
  2. [ZZ]强签名的由来和作用
  3. 带你利用一句话完成转场动画
  4. yytextview多种格式_iOS YYText的使用笔记一(YYTextView图文编辑器)
  5. python 二维强度图_荐 python数据分析matplotlib库使用之二维图形绘制
  6. linux环境 Oracle客户端连接远程Oracle服务端
  7. metasploit 使用search报错
  8. 阿维·阿斯平纳尔的闹钟——亨利·劳森
  9. 厨房手工工具行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  10. jave类命名_Java重命名文件– Jave移动文件
  11. IP地址库Linux系统从APNIC获取地址库
  12. Web开发技术架构图
  13. 我的 Serverless 实战 — Serverless 腾讯云文字识别(OCR)详细部署过程
  14. 富国基金陈戈:未来十年中国市场慢牛可期
  15. Python札记 -- 测试优先
  16. 金山云个人用户实名认证步骤详解(图文教程)
  17. 思考题:一条信息可通过如图所示的网络线由上(A点)往下向各站点传送,例如信息到达b2点可由经a1的站点送达,也可以由经a2的站点送达,共有两条途径传送,那么信息由A点到达d3的不同途径共有多少条
  18. postgresql导入导出大文件 copy命令
  19. 个人信息规范名称和收集规则参考
  20. Vue项目实战:接口错误拦截与环境设置

热门文章

  1. bismark 识别甲基化位点-比对篇
  2. Linux下重启MYSQL的命令
  3. 如何成为有效学习的高手(笔记)
  4. Ubuntu部署TeamTalk文档
  5. 图片轮播器——javascript
  6. js动画——图片轮播
  7. js问题之判断是否是火狐、IE浏览器
  8. 微信小程序,学习笔记(三)微信小计算器
  9. 这可能是你们都在找的:React 纯原生纯hook多标签微前端
  10. AutoJs学习-读取手机短信