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

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

DDD
DDDOriginal
2024-11-08 15:05:02254Durchsuche

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

So entfernen Sie Vektorelemente nach Wert in C

Betrachten Sie den Vektor myVector, der die Werte {5, 9, 2, 8, 0 enthält , 7} in der Reihenfolge. Um das Element, das den Wert „8“ an seiner Position hält, zu löschen, könnte man Folgendes verwenden:

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

Alternativ kann man zum direkten Löschen basierend auf dem Wert „8“ std::remove() verwenden Funktion:

#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;
}

In diesem Fall ordnet std::remove() die Elemente neu an, verschiebt „8“ an das Ende des Vektors und erase() dann effektiv Entfernt das verschobene Element. Dieser Ansatz ist als „Erase-Remove-Idiom“ bekannt.

Das obige ist der detaillierte Inhalt vonWie entferne ich Elemente aus einem Vektor nach Wert in C?. 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