vector迭代器遍历删除元素怎么实现
要在使用迭代器遍历vector并删除元素,可以使用以下方法:
- 使用迭代器遍历vector,并在循环中判断条件后调用erase()方法删除元素。
#include <iostream>#include <vector>int main() {std::vector<int> vec = {1, 2, 3, 4, 5};for(auto it = vec.begin(); it != vec.end(); ) {if(*it % 2 == 0) {it = vec.erase(it);} else {++it;}}for(int i : vec) {std::cout << i << " ";}return 0;}
- 使用remove_if()算法结合erase()方法删除元素。
#include <iostream>#include <vector>#include <algorithm>int main() {std::vector<int> vec = {1, 2, 3, 4, 5};vec.erase(std::remove_if(vec.begin(), vec.end(), [](int i) { return i % 2 == 0; }), vec.end());for(int i : vec) {std::cout << i << " ";}return 0;}
以上两种方法都能实现使用迭代器遍历vector并删除元素的功能,选择哪种方法取决于个人偏好和实际需求。
上一篇:tomcat如何运行Java程序
下一篇:python怎么打印字典全部信息
vector
webacc.exe是什么文件?webacc.exe是不是病毒
WINSYS.vbs是什么文件?WINSYS.vbs是不是病毒
winssh.exe是什么文件?winssh.exe是不是病毒
wt.exe是什么文件?wt.exe是不是病毒
winsysetm.exe是什么文件?winsysetm.exe是不是病毒
winstrve.exe是什么文件?winstrve.exe是不是病毒
winsysupd7.exe是什么文件?winsysupd7.exe是不是病毒
winsysupd.exe是什么文件?winsysupd.exe是不是病毒
winsysupd2.exe是什么文件?winsysupd2.exe是不是病毒
winsysupd8.exe是什么文件?winsysupd8.exe是不是病毒