21xrx.com
2024-11-22 08:16:22 Friday
登录
文章检索 我的文章 写文章
C++中如何删除vector中的元素
2023-07-02 14:05:13 深夜i     --     --
C++ 删除 vector 元素

在使用C++语言进行开发时,vector是一个常用的数据结构,通常用来存储一组数据,如字符串或整数。不过,在使用vector时,有时需要删除其中的某个元素,这就需要使用一些特殊的方法。那么,C++中如何删除vector中的元素呢?

方法一:使用erase函数

在C++中,可以使用erase函数来删除vector中指定位置的元素。erase函数接受一个迭代器参数,用于指定要删除元素的位置。如果要删除多个元素,则可以多次调用erase函数。下面是一个示例代码:


#include <iostream>

#include <vector>

int main()

{

 std::vector<int> vec 5;

 auto it = vec.begin() + 2;    // 定义迭代器it,指向第3个元素

 vec.erase(it);          // 删除第3个元素

 for (auto i : vec)

 

  std::cout << i << " ";

 

 return 0;

}

上面的代码将输出以下内容:


1 2 4 5

可以看到,第3个元素已被成功删除。

方法二:使用remove函数

除了使用erase函数外,还可以使用remove函数来删除vector中的元素。remove函数的工作原理是将要删除的元素放到vector的末尾,并返回一个指向新末尾元素的迭代器。此时,需要使用erase函数将末尾的元素删除。下面是一个示例代码:


#include <iostream>

#include <vector>

#include <algorithm>

int main()

{

 std::vector<int> vec 2;

 vec.erase(std::remove(vec.begin(), vec.end(), 3), vec.end());

 for (auto i : vec)

 

  std::cout << i << " ";

 

 return 0;

}

上面的代码也将输出以下内容:


1 2 4 5

可以看到,第3个元素也已被成功删除。

总结

在C++中,有多种方法可以删除vector中的元素。使用erase函数可以直接删除指定位置的元素,而使用remove函数可以将要删除的元素移到vector末尾,然后使用erase函数将其删除。这些方法都可以实现删除vector中的元素,可以根据实际情况选择适合的方法。

  
  

评论区

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