Heim > Backend-Entwicklung > C++ > Hauptteil

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

DDD
Freigeben: 2024-11-08 15:05:02
Original
253 Leute haben es durchsucht

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
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage