Vektorerase -Funktion in C ++

Vektorerase -Funktion in 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 unterschiedliche Funktionen, um ein Element aus dem Vektor hinzuzufügen und zu entfernen. Mit der Funktion von ERase () wird ein oder mehrere Elemente aus dem Vektor zur Laufzeit entfernen, die die Größe des Vektors verringert. Die Verwendung dieser Funktion wurde in diesem Tutorial erklärt.

Syntax:

Zwei Arten von Syntax dieser Funktion haben unten angegeben.

Iterator -Löschen (Iteratorposition);

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

Iterator -Löschen (Iterator start_position, iterator ending_position);

Die obige Funktion ERase () wird verwendet, um mehrere Elemente aus dem Vektor basierend auf der in den ersten und zweiten Argumenten dieser Funktion erwähnten Position zu entfernen.

Voraussetzung:

Bevor Sie die Beispiele dieses Tutorials überprüfen, müssen Sie überprüfen, ob der G ++ - Compiler installiert ist oder nicht im System. 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 -Codeanwendung zum Kompilieren und Ausführen des C ++ - Code verwendet. Verschiedene Verwendungen der Funktion erase (), die Elemente in einen Vektor einfügt, haben unten gezeigt.

Beispiel 1: Entfernen Sie das erste Elementelement

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

// notwendige Bibliotheken einschließen
#enthalten
#enthalten
Verwenden von Namespace STD;
// Zeigen Sie die Werte des Vektors an
void display_Vector (Vektor Früchte)

// den Zähler initialisieren
int counter = 1;
// die Elemente des Vektors mit der Schleife iterieren und drucken
für (automatel = fruits.Start(); Ele != Früchte.Ende(); ELE ++)

// Überprüfen Sie, ob die Elemente das letzte Element sind oder nicht
if (Zähler != Früchte.Größe())
Cout << *ele << ", ";
anders
Cout << *ele;
// Inkrementieren Sie den Zähler um 1
Zähler ++;

Cout << endl;

int main (void)
// einen Vektor von String -Daten deklarieren
Vektor fruits = "orange", "banane", "mango", "jack fruit", "lichi";
// Drucken Sie die vorhandenen Werte des Vektors
Cout << "The values of the vector before remove: " << endl;
Display_Vector (Früchte);
// Entfernen Sie das erste Element aus dem Vektor
Früchte.löschen (Früchte.Start());
// Drucken Sie die vorhandenen Werte des Vektors nach dem Entfernen aus
Cout << "\nThe values of the vector after remove: " << endl;
Display_Vector (Früchte);
Rückkehr 0;

Ausgang:

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

Beispiel 2: Mehrere Elemente entfernen

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

// notwendige Bibliotheken einschließen
#enthalten
#enthalten
Verwenden von Namespace STD;
// Zeigen Sie den Vektor an
void display_Vector (Vektor nums)

// Drucken Sie die Werte des Vektors mithilfe der Schleife aus
für (automatel = nums.Start(); Ele != nums.Ende() ; ELE ++)
Cout << *ele << " ";
// neue Zeile hinzufügen
Cout << "\n";

int main ()
// einen Vektor von Ganzzahldaten deklarieren
Vektor Intarrray 678, 435, 960, 231, 800, 387, 634, 267, 409, 294;
// Drucken Sie die vorhandenen Werte des Vektors
Cout << "The values of the vector before remove: " << endl;
display_Vector (intarrray);
// zwei Iteratoren deklarieren, um den Elementbereich aus dem Vektor zu entfernen
Vektor :: Iterator Startele, Endele;
// Stellen Sie den Iterator auf die erste Position ein
startele = intarrray.Start();
// Inkrementieren Sie den Start -Iterator um 2
Advance (Startele, 2);
// Stellen Sie den Iterator auf die letzte Position ein
Endele = Intarrray.Ende();
// Verringern Sie den Endinterator um 3
Advance (Endele, -3);
// Entfernen Sie den Elementbereich
Intarray.löschen (Startele, Endele);
// Drucken Sie die vorhandenen Werte des Vektors nach dem Entfernen aus
Cout << "\nThe values of the vector after remove: " << endl;
display_Vector (intarrray);
Rückkehr 0;

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Codes angezeigt. Nach dem Bereich der Iteratoren wurden die Elemente von der 3. Position 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 von Erase () -Funktion zu entfernen. Ein Vektor von 7 Ganzzahlelementen wurde im Code deklariert. Als nächstes wurde die 'for' -Schleife verwendet, um die Vektorelemente zu iterieren und diese Elemente aus dem Vektor zu entfernen, die nicht durch 5 teilbar sind.

// notwendige Bibliotheken einschließen
#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

// einen Vektor von Ganzzahldaten deklarieren
Vektor Zahlen = 78, 45, 67, 25, 98, 75, 52;
Cout << "The values of the vector before remove:\n";
für (int const & i: number)
Cout << i << ";

Cout << endl;
// Entfernen Sie die Zahlen aus dem Vektor, diese sind nicht durch 5 teilbar
für (automatische = Zahlen.Start(); Ele != Zahlen.Ende(); ELE ++)

// Überprüfen Sie, ob die Nummer um 5 teilbar ist oder nicht
if (*ele % 5 != 0)

// Entfernen Sie das Element basierend auf dem Iterator
Zahlen.löschen (ele-);


Cout << "The values of the vector after remove:\n";
für (int const & i: number)
Cout << i << ";

Cout << endl;
Rückkehr 0;

Ausgang:

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

Abschluss:

In diesem Tutorial wurden verschiedene Verwendungen der Funktion von erase () gezeigt, um Vektorelemente zu entfernen. Das C ++ verfügt über viele andere Funktionen, um das Element aus dem Vektor zu entfernen, und diese Funktionen können das einzelne Element jeweils entfernen. Aber sowohl Einzel- als auch mehrere Elemente aus jeder Position des Vektors können unter Verwendung der Funktion Vektor erase () entfernt werden.