📜  c++ 向量按值删除元素 - C++ (1)

📅  最后修改于: 2023-12-03 15:13:59.709000             🧑  作者: Mango

C++ 向量按值删除元素

在 C++ 中,我们可以使用 STL 中的 vector(向量)容器来存储一组数值或对象。有时候,我们需要从向量中删除某个特定的元素。本文将介绍如何按值删除 vector 中的元素。

使用 erase 和 remove 函数

向量容器提供了 erase 和 remove 函数来删除 vector 中的元素。remove 函数将特定值移动到 vector 的末尾,然后返回迭代器指向新的末尾,而 erase 函数接受两个迭代器参数,可以将该范围内的元素从 vector 中删除。

以下是一个使用 remove 和 erase 函数删除 vector 中特定元素的示例代码:

#include <vector>
#include <algorithm>
#include <iostream>

int main()
{
    std::vector<int> v { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

    // 使用算法 remove 将元素 5 移动到末尾
    auto it = std::remove(v.begin(), v.end(), 5);

    // 使用 erase 函数删除 vector 中所有值为 5 的元素
    v.erase(it, v.end());

    // 输出删除后的 vector
    for (const auto& i : v) {
        std::cout << i << ' ';
    }
    std::cout << std::endl;

    return 0;
}

上述代码中,我们首先使用 remove 函数将元素 5 移动到了 vector 的末尾,然后使用 erase 函数删除了该范围内的所有元素。输出结果为:

1 2 3 4 6 7 8 9
结语

本文介绍了如何按值删除 C++ 中的 vector 中的元素。希望这篇文章能对您有所帮助。