C/C++ vector 删除指定元素

article/2025/9/2 17:25:59

C++ vector 删除符合条件的元素
C++ vector中实际删除元素使用的是容器vecrot中std::vector::erase()方法。
C++ 中std::remove()并不删除元素,因为容器的size()没有变化,只是元素的替换。

1.std::vector::erase()
  函数原型:iterator erase (iterator position);  //删除指定元素
       iterator erase (iterator first, iterator last);  //删除指定范围内的元素

  返回值:指向删除元素(或范围)的下一个元素。(An iterator pointing to the new location of the element that followed the last element erased by the function call. This is the container end if the operation erased the last element in the sequence.)

2.样例

#include <vector>
#include <iostream>
#include <string>
using namespace std;int main()
{vector<int> veci;vector<int>::iterator it;int i;for (i = 0; i < 30;i++){veci.push_back(i);}for (it = veci.begin(); it != veci.end(); ){if (*it%3==0){it = veci.erase(it);}else{++it;}}for (int i = 0; i < veci.size();i++){cout << veci.at(i) << " ";}cout << endl;cout << "========将vector值传递给其他参数,同时判断是否满足删除要求========" << endl;vector<int>::iterator itc = veci.begin();vector<int> vecTemp;for (int i = 0; i < veci.size(),itc!=veci.end();i++){vecTemp.push_back(veci.at(i));if (*itc % 2 == 0){itc = veci.erase(itc);i--;}else{++itc;}}for (int i = 0; i < veci.size(); i++){cout << veci.at(i) << " ";}cout << endl;for (int i = 0; i < vecTemp.size(); i++){cout << vecTemp.at(i) << " ";}return 0;
}

参考:https://www.cnblogs.com/xudong-bupt/p/3522457.html



http://chatgpt.dhexx.cn/article/lyG9op2N.shtml

相关文章

【c++】vector中删除元素

目录 1.删除指定范围的元素2.删除指定大小的元素3.C20 std::erase, std::erase_if (std::vector)注意点 1.删除指定范围的元素 vector删除元素之pop_back(),erase(),remove() 向量容器vector的成员函数pop_back()可以删除最后一个元素. 而函数erase()可以删除由一个iterator指…

光纤光学原理相关基础知识点

记&#xff1a;研究生导师的方向是光纤光学和机器学习交叉的&#xff0c;导师给推荐了本书&#xff0c;书里面的理论和推导公式作为小白的我真的是不太行&#xff0c;后来在中国大学mooc上找了视频课跟着学习&#xff0c;顺便做下笔记&#xff0c;为日后使用&#xff0c;因此会…

机器人学重点知识点总结

机器人学重点知识点总结 坐标转换与机械臂运动学雅克比矩阵机械臂逆向动力学&#xff08;牛顿欧拉递推&#xff09;机械臂正向动力学运动轨迹生成动力学轨迹跟踪控制 这篇博客主要用来记录一下现代机器人学里面比较基础也比较重要的一些知识点&#xff0c;所有内容均仅仅记录是…

大学物理(下)知识点总结

大学物理&#xff08;下&#xff09;知识点总结&#xff08;持续更新&#xff09; 文章目录 大学物理&#xff08;下&#xff09;知识点总结&#xff08;持续更新&#xff09;静电场知识点总结习题精选 磁场知识点总结习题精选 期中复习总结电磁场知识点总结习题精选 狭义相对论…

Lumerical官方案例、FDTD时域有限差分法仿真学习(二)——宽带光栅耦合器(Broadband grating coupler (2D))

这个 2D FDTD 示例展示了如何获得光栅耦合器的宽带特性&#xff0c;并将结果与实验数据进行比较。 此外&#xff0c;该应用示例演示了多频波束计算的正确使用和优势&#xff0c;并将结果与标准单频波束计算进行了比较。 要更好地了解单频和多频波束计算之间的差异&#xff0c;请…

三维计算机视觉(四)--关键点

关键点又称为感兴趣的点&#xff0c;是低层次视觉通往高层次视觉的捷径&#xff0c;抑或是高层次感知对低层次处理手段的妥协。 RangeImage 1.关键点&#xff0c;线&#xff0c;面 关键点特征点&#xff1b; 关键线边缘&#xff1b; 关键面foreground&#xff1b; 上述三个概…

信号完整性基础04:串扰(1)

说在开头&#xff1a;关于x射线&#xff08;2&#xff09; 1895年11月8日&#xff0c;德国维尔茨堡大学的一间实验室里&#xff0c;校长伦琴正在做克鲁克斯管实验&#xff0c;当时房间没开灯&#xff0c;屋子里一片漆黑&#xff0c;放电管用黑纸包得很严实&#xff0c;他突然发…

基于地平面的单目视觉里程计绝对尺度估计

点击上方“3D视觉工坊”&#xff0c;选择“星标” 干货第一时间送达 ●论文摘要 对于基于单目相机的系统来说&#xff0c;从单目相机中恢复绝对度量尺度是一个具有挑战性的问题。利用有限的已知条件&#xff0c;提出了多种尺度估计方法&#xff0c;如根据相机的高度、物体大小等…

comsol 学习笔记【基础知识,磁场与结构场耦合为主】

感悟 随时补充学习中的感悟&#xff0c;放在开头是为了后来者在学习过程中有所参考。 掌握基本操作&#xff0c;学会寻找资料先看基础视频&#xff0c;然后找专题视频&#xff0c;再去学习案例&#xff08;以官方视频优先、案例配有相关的文件&#xff09;学习案例会涉及到其…

硬件工程师面试基础知识点

目录 一、晶振电路 二、LDO选型 1.LDO工作原理 2.输入电压 3.效率 4.功耗 5.电源抑制比PSRR 6.线性调整率 Line Regulation 7.负载调节率 (Load Regulation) 8.静态电流 9.噪声 10.输出电容器 11.反向泄漏保护 12.RF、音频的应用 三、DC-DC 1.降压转换器-Buck…

PCL—关键点检测(NARF)低层次点云处理

博客转载自&#xff1a;http://www.cnblogs.com/ironstark/p/5051533.html 关键点检测本质上来说&#xff0c;并不是一个独立的部分&#xff0c;它往往和特征描述联系在一起&#xff0c;再将特征描述和识别、寻物联系在一起。关键点检测可以说是通往高层次视觉的重要基础。但本…

HFSS----环形定向耦合器的设计实例

1:设置终端求解类型 2&#xff1a;创建物体模型 设置单位 设置一个变量表示传输线终端到圆心的距离 添加新的介质材料 创建正多边体 创建完成以后 可以通过“ctrlD”全屏显示 创建环形带状线 创建矩形面 通过复制生成其他3根传输线 创建圆面 合并圆面和4个传输线 在生成一个圆…

<论文阅读> RF-LIO:高动态环境中首先移除动态点的紧耦合激光雷达惯性里程计

继续在家读文献&#xff5e; 希望下周能继续打工&#xff0c;最近还是更多的关注激光里程计相关的方向。 论文地址&#xff1a;Removal-First Tightly-coupled Lidar Inertial Odometry in High Dynamic Environments 摘要&#xff1a;同步定位和建图&#xff08;SLAM&#x…

差分信号,差分对和耦合(二)——差分阻抗计算、差分对中的回流分布

耦合对差分阻抗的影响最大不超过12%&#xff0c;在走线靠得更近的过程中&#xff0c;由于耦合原因差分阻抗开始降低&#xff0c;这时&#xff0c;可以从以下五个方面分析&#xff1a; 1. 使用近似值的直接结果。 2. 使用场求解器的直接结果。 3. 使用基于模式的分析。 4. 使用…

雷达原理 知识点汇总

持续更新中… 雷达原理知识点汇总 第一章 绪论 1、雷达概念(Radar)&#xff1a; radar的音译&#xff0c;“Radio Detection and Ranging ”的缩写。原意是“无线电探测和测距”&#xff0c;即用无线电方法发现目标并测定它们在空间的位置。 2、雷达工作原理&#xff1a; …

短距离无线通信设备的天线设计

无线射频模块可实现的通信范围不仅仅取决于输出功率和接收器灵敏度&#xff0c;还取决于天线解决方案。了解不同的天线特性&#xff0c;以便为特定应用选择最合适的天线是非常重要的学问。 在短距离无线通信等低功率无线应用中&#xff0c;天线选择的关键要素是尺寸要求、辐射性…

GR-Fusion:强鲁棒低漂移的多传感器融合系统(IROS2021)

来源&#xff1a;GR-Fusion Multi-Sensor Fusion SLAM for Ground Robots with High Robustness and Low Drift IROS 2021 单位&#xff1a;中科院沈阳自动化研究所 针对问题&#xff1a; 针对地面机器人的多传感器融合SLAM系统 提出方法&#xff1a; 系统融合紧耦合IMU、轮速计…

MOSFET 和 IGBT 栅极驱动器电路的基本原理学习笔记(六)变压器耦合栅极驱动

变压器耦合栅极驱动 1.单端变压器耦合栅极驱动电路 2.双端变压器耦合栅极驱动 在高电压栅极驱动 IC 出现以前&#xff0c;使用栅极驱动变压器是唯一一种在离线或类似高电压电路中驱动高侧开关的可行解决方案。 现在&#xff0c;两种解决方案同时存在并且各有利弊&#xff0c;…

雷达多普勒频率计算公式_使用MATLAB工具箱进行雷达信号回波仿真

这篇文章的前提条件是在大家已经清楚整个雷达仿真的基本原理并且能自己熟练的根据公式写出雷达信号仿真的距离和相位变化信息。如果这里概念不清楚,请看这 qwe14789cn:雷达信号仿真的基本原理——时延与相位的变化​zhuanlan.zhihu.com 如果你能够熟练的完成上述要求,那么今…

loam框架的注意点,公式推导细节,lego-loam对其的改进及自身不足,

目录 前端流程及注意细节&#xff1a; 总体结构&#xff1a; 特征提取部分&#xff1a; 特征关联匹配部分&#xff1a; 最小二乘优化部分&#xff1a; 后端部分&#xff1a; lego-loam对其的改进&#xff1a; 前端流程及注意细节&#xff1a; 总体结构&#xff1a; 1.激…