21xrx.com
2024-11-05 19:00:24 Tuesday
登录
文章检索 我的文章 写文章
如何使用C++的vector移除元素?
2023-06-23 21:49:10 深夜i     --     --
C++ vector 移除元素

C++的vector是一个重要的容器,它提供了添加、查找和删除元素的功能。在实际开发中,我们经常需要从vector中移除特定元素,本文将介绍如何使用C++的vector移除元素。

C++的vector提供了许多方法来删除元素,包括使用erase()函数和remove()函数。erase()函数可以直接删除vector中指定位置的元素,而remove()函数将所有等于指定值的元素移动到vector的尾部,然后使用erase()函数删除这些元素。

下面是一个使用erase()函数移除元素的示例代码:


#include <iostream>

#include <vector>

using namespace std;

int main() {

  vector<int> vec = 3;

  cout << "Before erase: ";

  for (auto i : vec) cout << i << " ";

  vec.erase(vec.begin() + 2);

  cout << "\nAfter erase: ";

  for (auto i : vec) cout << i << " ";

  return 0;

}

上面的代码将删除vector中下标为2的元素(即值为3的元素)。在使用erase()函数时,我们需要指定要删除的元素的位置,这里使用了begin()函数表示vector的第一个元素,加上2表示要删除第三个元素。

下面是一个使用remove()函数移除元素的示例代码:


#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

int main() {

  vector<int> vec = 2;

  cout << "Before remove: ";

  for (auto i : vec) cout << i << " ";

  auto it = remove(vec.begin(), vec.end(), 3);

  vec.erase(it, vec.end());

  cout << "\nAfter remove: ";

  for (auto i : vec) cout << i << " ";

  return 0;

}

在这个代码中,remove()函数将所有等于3的元素移动到vector的尾部,但是没有真正删除它们。接下来通过erase()函数将vector中的这些元素删除。

总结:C++的vector提供了erase()函数和remove()函数来删除元素,使用时需要了解它们的区别和用法。在实际开发中,我们可以根据需要选择合适的函数来移除vector中的元素。

  
  

评论区

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