加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

c++实战:vector如何删除结构体指定元素

(2018-02-11 12:39:01)
分类: API开发
vector元素都可以通过迭代器删除,一般书里面和网上大多都是删除固定元素或指定范围元素,但很少涉及删除指定条件的元素,而通过结构体里面某一个元素的条件进行判断进行删除就更少了,但实际运用中经常却经常用到,例如通过文件流读取了N个周期的K线数据,新的进来之后要删除旧的,而且需要通过条件判断是否有新的数据进来以及删除多少条数据,当我们把数据存入vector后就就需要通过结构体的某个元素(例如索引)判断要删除哪些和多少数据

下例是对一个K线数据进行整理,需要很简单,无论读入的数据有多少只保留51条最新数据(样本不够51就全部保留),并且重新编号,先看看原始数据
现在有55行数据,需要删除最早的4行并且重新编号,通过迭代器删除所有1-4的元素输出如下
固定位置删除显然不行,因为需求是无论原始数据有多少行都能按照需要保留最后51条数据并且重新编号,当数据小于51则全部保留,下面读入一个44行数据看看
元素全部保留并且编号正确,符合要求,看看c++源码
http://s11/mw690/005uQhfvzy7i5q7RXfA7a&690
很简单的代码,通过迭代器对一个daydata类型的vector里面的元素index进行判断然后删除相应元素

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有