Vector Erase()-Funktion in C++

Vector Erase Function C



Das Array wird verwendet, um mehrere Daten zu speichern, 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 aus dem Vektor. Die Funktion delete() 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 erklärt.

Syntax:

Zwei Arten von Syntax dieser Funktion sind unten angegeben.







Iterator löschen(Iteratorposition);

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



Iterator löschen(Iterator-Startposition, Iterator-Endposition);

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



Voraussetzung:

Bevor Sie die Beispiele dieses Tutorials überprüfen, 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, um den ausführbaren Code zu erstellen. Hier wurde die Visual Studio Code-Anwendung verwendet, um den C++-Code zu kompilieren und auszuführen. Im Folgenden werden verschiedene Verwendungen der Funktion delete() 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 von Zeichenfolgenwerten verwendet. Die Werte des Vektors wurden vor und nach dem Löschen des ersten Elements aus dem Vektor mit der Funktion delete() mit einem Parameter gedruckt.

//Notwendige Bibliotheken einbeziehen

#enthalten

#enthalten

mit Namensraumstd;

//Anzeige der Werte des Vektors

Leeredisplay_vektor(Vektor<Schnur>Früchte)

{

// Zähler initialisieren

intSchalter= 1;

//Iteriere und drucke die Elemente des Vektors mit Schleife

zum (Autoer=Früchte.Start();er!=Früchte.Ende();er++)

{

//Überprüfe, ob die Elemente das letzte Element sind oder nicht

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

Kosten << *er<< ',';

anders

Kosten << *er;

// Erhöhe den Zähler um 1

Schalter++;

}

Kosten <<endl;

}

inthauptsächlich(Leere) {

// Einen Vektor von String-Daten deklarieren

Vektor<Schnur>Früchte= { 'Orange','Banane','Mango','Jackfrucht','Lichi' };

//Drucke die vorhandenen Werte des Vektors

Kosten << 'Die Werte des Vektors vor dem Entfernen: ' <<endl;

display_vektor(Früchte);

//Entferne das erste Element aus dem Vektor

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

//Drucke die vorhandenen Werte des Vektors nach dem Entfernen

Kosten << ' Die Werte des Vektors nach dem Entfernen: ' <<endl;

display_vektor(Früchte);

Rückkehr 0;

}

Ausgabe:

Die folgende Ausgabe wird angezeigt, nachdem der obige Code ausgeführt wurde.



Beispiel-2: Mehrere Elemente entfernen

Erstellen Sie eine C++-Datei mit dem folgenden Code, um die mehreren Elemente mit der Funktion delete() aus dem Vektor zu entfernen. Im Code wurde ein Vektor ganzzahliger Werte verwendet. Hier wurden zwei Iteratoren verwendet, um den Bereich der Elemente festzulegen, die aus dem Vektor entfernt wurden. Die Funktion delete() wurde mit zwei Parametern verwendet, um mehrere Elemente aus dem Vektor zu entfernen.

//Notwendige Bibliotheken einbeziehen

#enthalten

#enthalten

mit Namensraumstd;

// Zeigen Sie den Vektor an

Leeredisplay_vektor(Vektor<int>nums)

{

//Drucke die Werte des Vektors mit Schleife

zum(Autoer=num.Start();er!=num.Ende() ;er++)

Kosten << *er<< '';

//Neue Zeile hinzufügen

Kosten << ' ';

}

inthauptsächlich() {

// Einen Vektor aus ganzzahligen Daten deklarieren

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

//Drucke die vorhandenen Werte des Vektors

Kosten << 'Die Werte des Vektors vor dem Entfernen: ' <<endl;

display_vektor(intArray);

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

Vektor<int> :: IteratorstartEle, endEle;

// Setze den Iterator auf die erste Position

startEle=intArray.Start();

// Erhöhe den Startiterator um 2

Vorauszahlung(startEle,2);

//Setze den Iterator auf die letzte Position

endEle=intArray.Ende();

//Dekrementiere den Enditerator um 3

Vorauszahlung(endEle,-3);

//Entferne den Bereich der Elemente

intArray.löschen(startEle, endEle);

//Drucke die vorhandenen Werte des Vektors nach dem Entfernen

Kosten << ' Die Werte des Vektors nach dem Entfernen: ' <<endl;

display_vektor(intArray);

Rückkehr 0;

}

Ausgabe:

Die folgende Ausgabe wird angezeigt, nachdem der obige Code ausgeführt wurde. Entsprechend dem Bereich der Iteratoren wurden die Elemente von der 3. Position 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 mit der Funktion delete() zu entfernen. Im Code wurde ein Vektor aus 7 ganzzahligen Elementen deklariert. Als nächstes hat die 'for'-Schleife die Vektorelemente iteriert und diejenigen Elemente aus dem Vektor entfernt, die nicht durch 5 teilbar sind.

//Notwendige Bibliotheken einbeziehen

#enthalten

#enthalten

mit Namensraumstd;

inthauptsächlich()

{

// Einen Vektor aus ganzzahligen Daten deklarieren

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

Kosten << 'Die Werte des Vektors vor dem Entfernen: ';

zum (int const &ich:Zahlen) {

Kosten <<ich<< '';

}

Kosten <<endl;

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

zum (Autoer=Zahlen.Start();er!=Zahlen.Ende();er++)

{

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

wenn (*er% 5 != 0)

{

//Entferne das Element basierend auf dem Iterator

Zahlen.löschen(er-);

}

}

Kosten << 'Die Werte des Vektors nach dem Entfernen: ';

zum (int const &ich:Zahlen) {

Kosten <<ich<< '';


}


Kosten <<endl;


Rückkehr 0;

}

Ausgabe:

Die folgende Ausgabe wird angezeigt, nachdem der obige Code ausgeführt wurde. 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 Verwendungen der Funktion delete() gezeigt, um Vektorelemente zu entfernen. C++ hat viele andere Funktionen, um das Element aus dem Vektor zu entfernen, und diese Funktionen können jeweils ein einzelnes Element entfernen. Aber sowohl einzelne als auch mehrere Elemente von jeder Position des Vektors können mit der Funktion vector delete() entfernt werden.