首页 > 后端开发 > C++ > 如何按值从 C 向量中删除元素?

如何按值从 C 向量中删除元素?

DDD
发布: 2024-11-14 22:21:02
原创
775 人浏览过

How to Remove Elements from a C   Vector by Value?

在 C 中按值删除向量元素

在 C 中,向量的擦除()方法允许我们按位置删除元素。但是,如果我们想根据元素的值而不是位置来删除元素怎么办?

考虑以下向量:

vector<int> myVector = {5, 9, 2, 8, 0, 7};
登录后复制

使用以下命令删除值为“8”的元素传统的erase()方法,我们会这样做:

myVector.erase(myVector.begin() + 4);
登录后复制

但是,要按值删除元素,我们可以使用std::remove()函数:

#include <algorithm>
...

myVector.erase(std::remove(myVector.begin(), myVector.end(), 8), myVector.end());
登录后复制

它的工作原理如下:

  • std::remove() 接受三个参数:向量的开始和结束迭代器以及要删除的值。
  • 它返回一个指向的迭代器到最后删除的元素之后的元素。
  • 然后使用erase()方法将std::remove()返回的迭代器中的元素删除到向量末尾。

以上是如何按值从 C 向量中删除元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板