📜  从向量 C++ 中擦除元素(1)

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

从向量 C++ 中擦除元素

在C++中,我们通常会使用向量(vector)来存储数据。向量是一种可以动态增长的数组,它可以根据需要自动扩展和收缩。当我们需要从向量中删除一个元素时,可以使用erase函数来擦除它。

语法
vector_name.erase (position);
vector_name.erase (first_position, last_position);
  • position: 表示要删除的元素的位置(迭代器)。
  • first_position: 表示要删除的元素的起始位置(迭代器)。
  • last_position: 表示要删除的元素的结束位置(迭代器)。
实例

下面是一个实例,演示如何使用erase函数从向量中擦除元素:

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector<int> v {1, 2, 3, 4, 5};

    // 显示向量的初始值
    cout << "Initial vector: ";
    for (auto i : v)
        cout << i << " ";
    cout << endl;

    // 擦除第三个元素
    v.erase(v.begin() + 2);

    // 显示更新后的向量
    cout << "Updated vector: ";
    for (auto i : v)
        cout << i << " ";
    cout << endl;

    return 0;
}

输出结果为:

Initial vector: 1 2 3 4 5 
Updated vector: 1 2 4 5

在上面的例子中,我们使用v.erase(v.begin() + 2)来删除向量的第三个元素。begin()函数返回向量的起始位置迭代器,我们通过加上2将迭代器指向第三个元素,然后将其作为参数传递给erase函数。删除后,我们使用for循环遍历向量并显示其更新后的值。

总结

如果需要从向量中擦除元素,可以使用erase函数。该函数接受一个位置参数或者两个位置参数,表示要删除的元素的范围。如果只需要删除单个元素,可以将该元素的位置传递给函数。