Heim > Backend-Entwicklung > C++ > Wie lösche ich effizient Elemente aus einem C std::vector nach Index?

Wie lösche ich effizient Elemente aus einem C std::vector nach Index?

Mary-Kate Olsen
Freigeben: 2024-12-17 01:58:25
Original
150 Leute haben es durchsucht

How Do I Efficiently Delete Elements from a C   std::vector by Index?

Elemente aus std::vector nach Index löschen

Eine häufige Aufgabe in der Programmierung ist das Löschen von Elementen aus einem Container, beispielsweise einem Vektor. std::vector ist ein dynamisches Array in C, das das effiziente Einfügen und Löschen von Elementen ermöglicht. Das Löschen eines Elements anhand des Index kann auf verschiedene Arten erreicht werden.

Löschen eines einzelnen Elements

Um ein einzelnes Element aus einem Vektor zu löschen, verwenden Sie die Funktion erase(). Diese Funktion führt einen Iterator zu dem zu löschenden Element. Zum Beispiel:

std::vector<int> vec;

vec.push_back(6);
vec.push_back(-17);
vec.push_back(12);

// Deletes the second element (vec[1])
vec.erase(std::next(vec.begin()));
Nach dem Login kopieren

Die Funktion std::next() wird verwendet, um den Iterator zum gewünschten Index vorzurücken.

Löschen mehrerer Elemente

Um mehrere Elemente gleichzeitig zu löschen, verwenden Sie die Funktion erase() mit einem Iteratorbereich. Der Bereich wird durch zwei Iteratoren angegeben: Einer zeigt auf das erste zu entfernende Element und der andere zeigt auf das Element direkt hinter dem letzten zu entfernenden Element. Zum Beispiel:

// Deletes the second through third elements (vec[1], vec[2])
vec.erase(std::next(vec.begin(), 1), std::next(vec.begin(), 3));
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie lösche ich effizient Elemente aus einem C std::vector nach Index?. 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