c++删除vector中的某一个元素
作者:野牛程序员:2023-07-24 07:09:04 C++阅读 2929
在 C++ 中,要删除 vector 中的某一个元素,可以使用 erase() 方法。erase() 方法可以通过迭代器或者指定元素的值来删除元素。下面是两种常见的方法:
通过迭代器删除元素:
#include <iostream>
#include <vector>
int main() {
std::vector<int> myVector = {1, 2, 3, 4, 5};
// 假设要删除索引为 2 的元素,即值为 3 的元素
if (myVector.size() > 2) {
myVector.erase(myVector.begin() + 2); // 通过迭代器删除第 2 个元素
}
// 打印结果: 1 2 4 5
for (int num : myVector) {
std::cout << num << " ";
}
return 0;
}通过值删除元素:
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> myVector = {1, 2, 3, 4, 5};
int valueToRemove = 3;
// 使用 std::remove 和 erase 结合来删除指定值的元素
myVector.erase(std::remove(myVector.begin(), myVector.end(), valueToRemove), myVector.end());
// 打印结果: 1 2 4 5
for (int num : myVector) {
std::cout << num << " ";
}
return 0;
}无论使用哪种方法,都要确保要删除的元素在 vector 中确实存在,否则可能会导致未定义行为。此外,注意使用 erase() 方法后,vector 中的元素会相应地前移,所以要谨慎处理循环中的索引或迭代器。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:c++vector 删除指定位置元素
- 下一篇:c++vector删除最后一个元素
