c++删除vector中的某一个元素
作者:野牛程序员:2023-07-24 07:09:04 C++阅读 2618
在 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删除最后一个元素