Heim > Backend-Entwicklung > C++ > Wie lösche ich Vektorelemente nach Wert in C?

Wie lösche ich Vektorelemente nach Wert in C?

Mary-Kate Olsen
Freigeben: 2024-11-08 13:02:02
Original
137 Leute haben es durchsucht

How to Erase Vector Elements by Value in C  ?

Löschen von Vektorelementen nach Wert in C

Bei der Arbeit mit Vektoren in C kommt es häufig vor, dass bestimmte Elemente entfernt werden müssen. Typischerweise erfolgt dies durch Angabe der Position des zu löschenden Elements mit erase(myVector.begin() 4). Es kann jedoch Fälle geben, in denen Sie ein Element basierend auf seinem Wert und nicht auf Basis seiner Position löschen möchten.

Um dies zu erreichen, stellt C die Erase-Remove-Sprache bereit, die std::remove() und kombiniert std::erase()-Funktionen. Hier ist ein Beispiel für die Implementierung:

#include <algorithm>

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

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

    return 0;
}
Nach dem Login kopieren

Die Funktion std::remove() benötigt drei Argumente: den Start- und End-Iterator des Vektors und den zu entfernenden Wert. Sie ändert den Vektor, indem sie alle Elemente mit dem angegebenen Wert an das Ende des Vektors verschiebt und sie effektiv von ihren ursprünglichen Positionen entfernt.

Die Funktion std::erase() löscht dann den Bereich der Elemente aus dem Vektor . In diesem Beispiel werden alle Elemente von der von std::remove() zurückgegebenen Position bis zum Ende des Vektors gelöscht.

Durch die Verwendung der Erase-Remove-Sprache können Sie Elemente bequem basierend auf ihrem Wert löschen. Verbesserung der Effizienz und Wartbarkeit Ihres Codes.

Das obige ist der detaillierte Inhalt vonWie lösche ich Vektorelemente 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage