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

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

DDD
DDD原创
2024-11-08 15:05:02311浏览

How to Remove Elements from a Vector by Value in C  ?

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

考虑包含值 {5, 9, 2, 8, 0 的向量 myVector , 7} 按顺序。要擦除通过其位置保存值“8”的元素,可以使用:

myVector.erase(myVector.begin() + 4); // Erase the 4th element

或者,要直接基于值“8”进行擦除,可以使用 std::remove()函数:

#include <algorithm>

int main() {
  std::vector<int> vec{5, 9, 2, 8, 0, 7};
  vec.erase(std::remove(vec.begin(), vec.end(), 8), vec.end());
  return 0;
}

在这种情况下,std::remove() 对元素重新排序,将“8”移动到向量的末尾,然后有效地擦除()删除移动的元素。这种方法被称为“擦除-删除习惯用法”。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn