当前位置: 首页 > news >正文

C++按索引同时删除vector中的多个元素

这个时候不能从前往后删,因为会破坏後面的元素的索引值,比如如果第删除了第2个元素,第3个元素的索引就会变为第2个元素的索引,造成混乱,甚至引起程序崩溃。应该从後往前删。

代码:

#include<iostream>
#include<vector>
#include<algorithm>int main()
{std::vector<int> test_vec{2,3,4,1,5,8};std::cout<<test_vec.size()<<std::endl;std::vector<int> eraseIndexs{5,2,4};std::sort(eraseIndexs.rbegin(),eraseIndexs.rend());for(const auto& idx : eraseIndexs){test_vec.erase(test_vec.begin()+idx);}std::cout<<test_vec.size()<<std::endl;for(const auto& item:test_vec){std::cout<<item<<" ";}std::cout<<std::endl;return 0;
}

结果:

6
3
2 3 1 

 

http://www.jsqmd.com/news/120026/

相关文章:

  • 生成式视频技术商业化加速
  • 三星最新款手机推荐:Galaxy Z TriFold三折叠形态的体验革命
  • 用 .NET MAUI 10 + VS Copilot 从 0 开发一个签到 App(二)
  • 三折叠手机推荐哪个品牌?三星Galaxy Z TriFold用创新重新定义旗舰体验
  • 你的数据管家:访答本地知识库
  • 云底座管理与操作系统性能质量保证技术升华
  • TEST_40
  • 8个AI论文工具,MBA轻松搞定研究论文!
  • 三折叠手机有什么使用场景和优势?三星Galaxy Z TriFold给出答案
  • 5.string类型
  • 多角度关于人的本质的论述,你怎么思考?
  • 【学习笔记】后量子密码迁移科技研究
  • Spring AI Alibaba 深度解析(一):框架概述与核心功能
  • Thinkphp和Laravel水果购物商城vue
  • 利用AgentCore平台实现AI智能体的构建与部署
  • LLMs之Survey之Agent:《Measuring Agents in Production》翻译与解读
  • 大模型训练核心技术:优化器与分布式训练详解
  • 大模型训练核心技术:优化器与分布式训练详解
  • XMODEM协议解析
  • 当一部手机定价近两万:三星三折叠价格和功能如何匹配?
  • JVM性能调优案例-OOM案例
  • 灵遁者诗歌阅读:钨丝编年史
  • python作业4
  • 自建vs第三方:提示系统监控告警平台选型全攻略
  • 自建vs第三方:提示系统监控告警平台选型全攻略
  • 系统缺少hidserv.dll文件 丢失损坏问题 下载修复方法
  • 创建型设计模式学习笔记
  • CVE-2022-0779
  • CVE-2022-0779
  • 延凡智慧水库系统:数字孪生+AI驱动水库安全与智能调度