当前位置:首页 C++ > 正文

c++删除vector中的某一个元素

作者:野牛程序员:2023-07-24 07:09:04 C++阅读 2618

在 C++ 中,要删除 vector 中的某一个元素,可以使用 erase() 方法。erase() 方法可以通过迭代器或者指定元素的值来删除元素。下面是两种常见的方法:

  1. 通过迭代器删除元素:

#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;
}
  1. 通过值删除元素:

#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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击