答案:C++中vector删除元素主要用erase()和pop_back();erase()可删单个或区间元素,pop_back()删末尾元素,结合remove与erase可实现条件删除,需注意迭代器失效问题。

在C++中,vector 删除元素主要通过 erase() 和 pop_back() 方法实现。根据删除位置和数量的不同,选择合适的方法可以提高代码效率和可读性。
erase() 是 vector 中最常用的删除方法,可用于删除单个元素或一段区间内的多个元素。
• 删除单个元素:传入要删除元素的迭代器示例:
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<int> vec = {10, 20, 30, 40, 50};
// 删除第二个元素(值为20)
vec.erase(vec.begin() + 1);
// 删除从第2个到第4个元素(左闭右开)
vec.erase(vec.begin() + 1, vec.begin() + 3);
for (int n : vec) {
cout << n << " ";
}
return 0;
}
pop_back() 用于快速删除 vector 的最后一个元素,不返回值,仅修改容器。
立即学习“C++免费学习笔记(深入)”;
• 时间复杂度为 O(1)示例:
vec.pop_back(); // 移除末尾元素
如果需要删除满足特定条件的所有元素(如所有值为 x 的元素),推荐使用 erase-remove 惯用法。
• 先用 remove() 将目标元素移到末尾示例:删除所有值为30的元素
vec.erase(remove(vec.begin(), vec.end(), 30), vec.end());
若使用谓词删除更复杂的条件(如所有偶数):
vec.erase(remove_if(vec.begin(), vec.end(), [](int n){ return n % 2 == 0; }), vec.end());
以上就是c++++中vector如何删除元素_c++ vector容器元素删除方法的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号