Heim  >  Artikel  >  Backend-Entwicklung  >  Wie entferne ich Elemente aus einem C-Vektor nach Wert?

Wie entferne ich Elemente aus einem C-Vektor nach Wert?

DDD
DDDOriginal
2024-11-14 22:21:02723Durchsuche

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

Removing Vector Elements by Value in C++

In C++, the erase() method of vectors allows us to remove elements by their position. But what if we want to remove an element based on its value rather than its position?

Consider the following vector:

vector<int> myVector = {5, 9, 2, 8, 0, 7};

To erase the element with a value of "8" using the traditional erase() method, we would do:

myVector.erase(myVector.begin() + 4);

However, to remove an element by value, we can use the std::remove() function:

#include <algorithm>
...

myVector.erase(std::remove(myVector.begin(), myVector.end(), 8), myVector.end());

Here's how it works:

  • std::remove() takes three arguments: the start and end iterators of the vector and the value to be removed.
  • It returns an iterator pointing to the element after the last removed element.
  • The erase() method is then used to remove the elements from the iterator returned by std::remove() to the end of the vector.

Das obige ist der detaillierte Inhalt vonWie entferne ich Elemente aus einem C-Vektor nach Wert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn