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

c++中vector erase函数

作者:野牛程序员:2023-07-22 11:40:05 C++阅读 3178

在C++中,std::vector是一个常用的容器,它提供了动态数组并且具有多种有用的成员函数。其中一个成员函数是erase,它允许你从std::vector中删除元素。erase函数有不同的形式,但通常用于根据特定条件删除元素。

以下是erase函数的典型语法:

iterator erase (iterator position);
iterator erase (iterator first, iterator last);
  1. erase(iterator position): 这种形式的erase函数将删除指定位置的元素。它接收一个迭代器作为参数,指向要删除的元素,然后返回指向被删除元素后面元素的迭代器。

  2. erase(iterator first, iterator last): 这种形式的erase函数将删除指定范围内的元素。它接收两个迭代器参数,分别指向要删除范围的起始位置和结束位置(不包含结束位置),然后返回指向被删除元素后面元素的迭代器。

以下是使用erase函数的示例:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> numbers = {1, 2, 3, 4, 5};

    // 使用erase(iterator position)删除第二个元素
    numbers.erase(numbers.begin() + 1);

    // 使用erase(iterator first, iterator last)删除第三和第四个元素
    numbers.erase(numbers.begin() + 2, numbers.begin() + 4);

    // 打印结果:1 4
    for (int num : numbers) {
        std::cout << num << " ";
    }

    return 0;
}

请注意,当使用erase函数删除元素时,后续的元素将会向前移动,因此索引位置也会相应地改变。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击