Vector Erase()-Funktion in C++

Vector Erase Funktion In C



Das Array wird zum Speichern mehrerer Daten verwendet und die Anzahl der Elemente des Arrays kann zur Laufzeit nicht geändert werden. Dieses Problem kann durch die Verwendung eines Vektors gelöst werden, der wie ein dynamisches Array funktioniert. In der Vektorklasse gibt es verschiedene Funktionen zum Hinzufügen und Entfernen eines Elements zum Vektor. Die Funktion erase() wird verwendet, um zur Laufzeit ein oder mehrere Elemente aus dem Vektor zu entfernen, wodurch die Größe des Vektors verringert wird. Die Verwendung dieser Funktion wurde in diesem Tutorial erläutert.

Syntax:

Im Folgenden sind zwei Arten der Syntax dieser Funktion aufgeführt.







Iteratorlöschung ( Iteratorposition ) ;

Die obige Funktion erase() wird verwendet, um ein einzelnes Element aus dem Vektor zu entfernen. Sie gibt einen Iterator zurück und zeigt auf das Element, auf das das zuletzt gelöschte Element folgt.



Iteratorlöschung ( Iterator-Startposition, Iterator-Endposition ) ;

Die obige Funktion erase() wird verwendet, um mehrere Elemente aus dem Vektor basierend auf der im ersten und zweiten Argument dieser Funktion genannten Position zu entfernen.



Voraussetzung:

Bevor Sie sich die Beispiele dieses Tutorials ansehen, müssen Sie überprüfen, ob der g++-Compiler im System installiert ist oder nicht. Wenn Sie Visual Studio Code verwenden, installieren Sie die erforderlichen Erweiterungen, um den C++-Quellcode zu kompilieren und den ausführbaren Code zu erstellen. Hier wurde die Visual Studio Code-Anwendung zum Kompilieren und Ausführen des C++-Codes verwendet. Nachfolgend werden verschiedene Verwendungsmöglichkeiten der Funktion erase() zum Einfügen von Elementen in einen Vektor gezeigt.





Beispiel 1: Entfernen Sie das erste Elementelement

Erstellen Sie eine C++-Datei mit dem folgenden Code, um ein Element vom Anfang des Vektors zu entfernen. Im Code wurde ein Vektor mit Zeichenfolgewerten verwendet. Die Werte des Vektors wurden vor und nach dem Löschen des ersten Elements aus dem Vektor mithilfe der Funktion erase() mit einem Parameter gedruckt.

//Erforderliche Bibliotheken einschließen

#include

#include

verwenden Namensraum std ;

//Zeigt die Werte des Vektors an

Leere display_vector ( Vektor < Zeichenfolge > Früchte )

{

//Initialisieren Sie den Zähler

int Schalter = 1 ;

//Iterieren und drucken Sie die Elemente des Vektors mithilfe einer Schleife

für ( Auto Er = Früchte. beginnen ( ) ; Er ! = Früchte. Ende ( ) ; Er ++ )

{

//Überprüfen Sie, ob das Element das letzte Element ist oder nicht

Wenn ( Schalter ! = Früchte. Größe ( ) )

cout << * Er << ',' ;

anders

cout << * Er ;

//Erhöhe den Zähler um 1

Schalter ++ ;

}

cout << endl ;

}

int hauptsächlich ( Leere ) {

//Deklarieren Sie einen Vektor mit String-Daten

Vektor < Zeichenfolge > Früchte = { 'Orange' , 'Banane' , 'Mango' , „Jackfrucht“ , Litschi } ;

//Drucken Sie die vorhandenen Werte des Vektors

cout << „Die Werte des Vektors vor dem Entfernen:“ << endl ;

display_vector ( Früchte ) ;

//Entferne das erste Element aus dem Vektor

Früchte. löschen ( Früchte. beginnen ( ) ) ;

//Drucken Sie die vorhandenen Werte des Vektors nach dem Entfernen

cout << ' \N Die Werte des Vektors nach dem Entfernen: „ << endl ;

display_vector ( Früchte ) ;

zurückkehren 0 ;

}

Ausgabe:

Die folgende Ausgabe erscheint nach der Ausführung des obigen Codes.



Beispiel 2: Mehrere Elemente entfernen

Erstellen Sie eine C++-Datei mit dem folgenden Code, um mithilfe der Funktion erase() mehrere Elemente aus dem Vektor zu entfernen. Im Code wurde ein Vektor mit ganzzahligen Werten verwendet. Hier wurden zwei Iteratoren verwendet, um den Bereich der aus dem Vektor entfernten Elemente festzulegen. Die Funktion erase() wurde mit zwei Parametern verwendet, um mehrere Elemente aus dem Vektor zu entfernen.

//Erforderliche Bibliotheken einschließen

#include

#include

verwenden Namensraum std ;

//Den Vektor anzeigen

Leere display_vector ( Vektor < int > Zahlen )

{

//Drucken Sie die Werte des Vektors mithilfe einer Schleife

für ( Auto Er = Zahlen. beginnen ( ) ; Er ! = Zahlen. Ende ( ) ; Er ++ )

cout << * Er << ' ' ;

//Neue Zeile hinzufügen

cout << ' \N ' ;

}

int hauptsächlich ( ) {

//Deklarieren Sie einen Vektor mit ganzzahligen Daten

Vektor < int > intArray { 678 , 435 , 960 , 231 , 800 , 387 , 634 , 267 , 409 , 294 } ;

//Drucken Sie die vorhandenen Werte des Vektors

cout << „Die Werte des Vektors vor dem Entfernen:“ << endl ;

display_vector ( intArray ) ;

//Deklarieren Sie zwei Iteratoren, um den Bereich der Elemente aus dem Vektor zu entfernen

Vektor < int > :: Iterator startEle, endEle ;

//Setze den Iterator auf die erste Position

starte sie = intArray. beginnen ( ) ;

//Erhöhe den Startiterator um 2

Vorauszahlung ( starte sie, 2 ) ;

//Setze den Iterator auf die letzte Position

endEle = intArray. Ende ( ) ;

//Dekrementieren Sie den Enditerator um 3

Vorauszahlung ( endEle, - 3 ) ;

//Entferne den Bereich der Elemente

intArray. löschen ( startEle, endEle ) ;

//Drucken Sie die vorhandenen Werte des Vektors nach dem Entfernen

cout << ' \N Die Werte des Vektors nach dem Entfernen: „ << endl ;

display_vector ( intArray ) ;

zurückkehren 0 ;

}

Ausgabe:

Die folgende Ausgabe erscheint nach der Ausführung des obigen Codes. Entsprechend dem Bereich der Iteratoren wurden die Elemente von der 3. bis zur 7. Position des Vektors entfernt.

Beispiel 3: Entfernen Sie die spezifischen Elemente

Erstellen Sie eine C++-Datei mit dem folgenden Code, um die spezifischen Elemente des Vektors mithilfe der Funktion erase() zu entfernen. Im Code wurde ein Vektor aus 7 ganzzahligen Elementen deklariert. Als nächstes wurde die „for“-Schleife verwendet, um die Vektorelemente zu iterieren und diejenigen Elemente aus dem Vektor zu entfernen, die nicht durch 5 teilbar sind.

//Erforderliche Bibliotheken einschließen

#include

#include

verwenden Namensraum std ;

int hauptsächlich ( )

{

//Deklarieren Sie einen Vektor mit ganzzahligen Daten

Vektor < int > Zahlen = { 78 , Vier fünf , 67 , 25 , 98 , 75 , 52 } ;

cout << „Die Werte des Vektors vor dem Entfernen: \N ' ;

für ( int const & ich : Zahlen ) {

cout << ich << ' ' ;

}

cout << endl ;

//Entferne die Zahlen aus dem Vektor, die nicht durch 5 teilbar sind

für ( Auto Er = Zahlen. beginnen ( ) ; Er ! = Zahlen. Ende ( ) ; Er ++ )

{

//Überprüfen Sie, ob die Zahl durch 5 teilbar ist oder nicht

Wenn ( * Er % 5 ! = 0 )

{

//Entferne das Element basierend auf dem Iterator

Zahlen. löschen ( Er -- ) ;

}

}

cout << „Die Werte des Vektors nach dem Entfernen: \N ' ;

für ( int const & ich : Zahlen ) {

cout << ich << ' ' ;


}


cout << endl ;


zurückkehren 0 ;

}

Ausgabe:

Die folgende Ausgabe erscheint nach der Ausführung des obigen Codes. Die Ausgabe zeigt, dass der Vektor nur die durch 5 teilbaren Elemente enthält und andere Elemente entfernt wurden.

Abschluss:

In diesem Tutorial wurden verschiedene Verwendungsmöglichkeiten der Funktion erase() zum Entfernen von Vektorelementen gezeigt. C++ verfügt über viele andere Funktionen zum Entfernen des Elements aus dem Vektor, und diese Funktionen können jeweils ein einzelnes Element entfernen. Aber sowohl einzelne als auch mehrere Elemente an jeder Position des Vektors können mit der Funktion „vector erase()“ entfernt werden.