Heim > Artikel > Backend-Entwicklung > Wie entferne ich Elemente aus einem Vektor nach Wert 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!