21xrx.com
2024-11-25 00:20:23 Monday
登录
文章检索 我的文章 写文章
C++ vector erase方法详解
2023-07-12 14:09:24 深夜i     --     --
C++ vector erase 方法 详解

C++ vector是一种动态数组,是C++ STL(标准模板库)中最常用的容器之一。vector容器提供了一个强大的功能--erase(),可以实现删除容器中指定的元素。在本文中,我们将详细讲解C++ vector erase()方法的使用。

1. C++ vector erase()方法的语法

vector的erase()方法有三种语法形式:


void erase(iterator);     //删除参数指定的元素,返回删除元素之后的迭代器

void erase(start_iterator, end_iterator); //删除左闭右开区间内的元素,

                     //返回删除区间之后的第一个元素的迭代器

void clear();          //清空容器中的所有元素

2. 删除vector容器中指定位置的元素

如果要删除vector容器中指定位置的元素,可以使用erase(iterator)方法,其中iterator是指向要删除元素的迭代器。下面的程序演示了如何删除vector容器的第三个元素。


#include <vector>

#include <iostream>

using namespace std;

int main()

{

  vector<int> vec 3;

  vec.erase(vec.begin() + 2);  //删除第三个元素

  cout << "vec: ";

  for (auto i : vec)

    cout << i << " ";

  cout << endl;

  return 0;

}

输出结果:


vec: 1 3 7 9

3. 删除vector容器中的多个元素

如果要删除vector容器中的多个元素,可以使用erase(start_iterator, end_iterator)方法。其中,start_iterator是指向要删除第一个元素的迭代器,end_iterator是指向要删除最后一个元素的下一个迭代器。下面的程序演示了如何删除vector容器的第二个到第四个元素。


#include <vector>

#include <iostream>

using namespace std;

int main()

{

  vector<int> vec 9 ;

  vec.erase(vec.begin() + 1, vec.begin() + 4);  //删除第二个到第四个元素

  cout << "vec: ";

  for (auto i : vec)

    cout << i << " ";

  cout << endl;

  return 0;

}

输出结果:


vec: 1 9

4. 清空vector容器中的所有元素

如果要清除vector容器中的所有元素,可以使用clear()方法。下面的程序演示了如何清空vector容器中的所有元素。


#include <vector>

#include <iostream>

using namespace std;

int main()

{

  vector<int> vec 5;

  vec.clear();   //清空vector容器中的所有元素

  cout << "vec: ";

  for (auto i : vec)

    cout << i << " ";

  cout << endl;

  return 0;

}

输出结果:


vec:

C++ vector erase()方法是一个非常有用的函数,可以帮助我们实现删除vector容器中指定的元素。在使用时,需要注意迭代器的使用方式。希望本文对各位读者有所帮助。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复