C++ STL Set Löschmethode

C++C++Beginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden Sie über das Funktionieren eines Multisets und seine Implementierung in der Programmiersprache C++ lernen. Insbesondere werden Sie lernen, wie die erase()-Methode in einem Set oder Multiset verwendet wird, um Elemente zu löschen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/BasicsGroup -.-> cpp/operators("Operators") cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/StandardLibraryGroup -.-> cpp/standard_containers("Standard Containers") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/operators -.-> lab-96235{{"C++ STL Set Löschmethode"}} cpp/strings -.-> lab-96235{{"C++ STL Set Löschmethode"}} cpp/output -.-> lab-96235{{"C++ STL Set Löschmethode"}} cpp/files -.-> lab-96235{{"C++ STL Set Löschmethode"}} cpp/standard_containers -.-> lab-96235{{"C++ STL Set Löschmethode"}} cpp/code_formatting -.-> lab-96235{{"C++ STL Set Löschmethode"}} end

Erstellen der C++-Code-Datei

Verwenden Sie einen beliebigen Texteditor, um in das Projektverzeichnis ~/project eine neue C++-Code-Datei namens main.cpp zu erstellen.

cd ~/project
touch main.cpp

Schreiben Sie den C++-Code

Geben Sie folgenden Code in die Datei main.cpp ein. Die Kommentare erklären den Code.

#include <iostream>
#include <bits/stdc++.h>

using namespace std;

// Funktion, um die Elemente des Multisets mit einem Iterator auszugeben
void show(multiset<int> s)
{
    // Deklarieren eines Iterators, um durch das Multiset zu iterieren
    multiset<int>::iterator i;

    for (i = s.begin(); i!= s.end(); i++)
    {
        cout << *i << "  "; // Zugreifen auf die Elemente des Multisets mit *, da i die Adresse jedes Elements speichert
    }

    cout << endl;
}

int main()
{
    cout << "\n\nWillkommen im STL Set erase() Method Lab\n\n\n";
    cout << " =====  Programm, um das Funktionieren eines Multisets in CPP zu demonstrieren  ===== \n\n\n\n";

    cout << "*** Multisets ähneln sich einem Set, mit der Ausnahme, dass mehrere Elemente den gleichen Wert haben können. *** \n\n";

    // Set-Deklaration (Set von ganzen Zahlen)
    multiset<int> s;

    // Befüllen der Elemente mit der insert()-Methode.
    cout << "\n\nFüllen des Multisets mit ganzen Zahlen in zufälliger Reihenfolge."; // Der Multiset speichert sie automatisch in aufsteigender Reihenfolge

    s.insert(5);
    s.insert(39);
    s.insert(5);
    s.insert(82);
    s.insert(39);
    s.insert(54);

    cout << "\n\nDie Anzahl der Elemente im Multiset beträgt: " << s.size();

    cout << "\n\nDie Elemente des Multisets sind: ";
    show(s);

    multiset<int>::iterator it;

    // Löschen aller Elemente des Sets, die kleiner als 54 sind
    s.erase(s.begin(), s.find(54));

    cout << "\n\nNachdem alle Elemente, die kleiner als 54 sind, gelöscht wurden, sieht der Multiset so aus: ";

    for (it = s.begin(); it!= s.end(); it++)
    {
        cout << " " << *it;
    }

    cout << "\n\n\n";

    return 0;
}

Kompilieren und Ausführen des C++-Codes

Kompilieren Sie in der Konsole die Datei main.cpp mit dem Befehl g++ und führen Sie anschließend die kompilierte Datei aus.

g++ main.cpp -o main && ./main

Sie sollten die folgende Ausgabe sehen:

Willkommen im STL Set erase() Method Lab


 =====  Programm, um das Funktionieren eines Multisets in CPP zu demonstrieren  =====



*** Multisets ähneln sich einem Set, mit der Ausnahme, dass mehrere Elemente den gleichen Wert haben können. ***


Füllen des Multisets mit ganzen Zahlen in zufälliger Reihenfolge.
Die Anzahl der Elemente im Multiset beträgt: 6

Die Elemente des Multisets sind: 5  5  39  39  54  82

Nachdem alle Elemente, die kleiner als 54 sind, gelöscht wurden, sieht der Multiset so aus:  54  82

Überprüfen Sie den Code

Nehmen Sie sich die Zeit, um den Code zu überprüfen und sicherzustellen, dass Sie verstehen, wie die erase()-Methode verwendet wird, um Elemente aus dem Multiset zu löschen.

//Löschen aller Elemente des Sets, die kleiner als 54 sind
s.erase(s.begin(), s.find(54));

Dieser Code verwendet die erase()-Methode, um alle Elemente im Multiset von Anfang an bis einschließlich (aber nicht mit eingeschlossen) des Elements mit dem Wert 54 zu löschen. Somit enthält der resultierende Multiset nur die Werte 54 und 82.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie die erase()-Methode in einem C++-Set oder -Multiset verwendet wird, um Elemente zu löschen. Sie haben auch gelernt, wie man durch einen Multiset mit einem Iterator iteriert und die Elemente mit der show()-Methode ausgibt. Dies ist nützlich, wenn Sie komplexe Datenstrukturen wie Sets und Multisets debuggen oder die Inhalte überprüfen.