C++ Multiset in der STL

C++Beginner
Jetzt üben

Einführung

In diesem Lab werden wir lernen, wie man Multiset aus der Standardbibliothek (STL) in C++ implementiert. Ein Multiset ähnelt einem Set darin, dass es eindeutige Werte speichert. Allerdings unterscheidet es sich vom Set dadurch, dass es Duplikate zulässt und keine Indexierungsfunktionen wie bei Vektoren bietet.

Erstellen Sie eine C++-Datei im Projektverzeichnis

Wir werden eine neue Datei namens main.cpp im Verzeichnis ~/project mit dem folgenden Befehl erstellen:

touch ~/project/main.cpp

Fügen Sie die Header-Dateien hinzu

Fügen Sie die folgenden Header-Dateien für Multiset, Eingabe/Ausgabe-Streams, die Standardbibliothek und Iteratoren hinzu, wie im folgenden Beispiel gezeigt:

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

Deklarieren Sie das Multiset

Deklarieren Sie ein Multiset für Ganzzahlwerte, wie unten gezeigt:

multiset<int> s;

Fügen Sie Werte in das Multiset ein

Fügen Sie Elemente in das Multiset mit der Methode insert() ein, wie im folgenden Beispielcode gezeigt. Es werden die Werte 5, 39, 5, 82, 39 und 54 in das Multiset eingefügt:

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

Geben Sie die Größe des Multisets aus und traversieren Sie das Multiset

Geben Sie die Anzahl der Elemente im Multiset aus, indem Sie auf die Eigenschaft size() zugreifen, und traversieren Sie alle Elemente des Multisets mit einem Iterator, wie unten gezeigt:

cout << "The number of elements in the Multiset : " << s.size() << "\n";

multiset<int>::iterator it;
cout << "\nElements of the Multiset : ";
for (it = s.begin(); it!= s.end(); it++)
    cout << *it << " ";
cout << endl;

Löschen Sie Elemente kleiner als X

Löschen Sie alle Elemente, die kleiner als ein gegebener Wert x sind, mit der Methode erase(). Die Methode erase() löscht alle Elemente vom Anfang des Multisets bis zum gegebenen Wert, ausgenommen das Element mit dem gegebenen Wert, wie unten gezeigt:

s.erase(s.begin(), s.find(x));

Kompilieren und ausführen Sie das Programm

Kompilieren Sie das Programm über das Terminal. Verwenden Sie den folgenden Befehl, um das Programm zu kompilieren:

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

Überprüfen Sie die Ausgabe

Nachdem das Programm erfolgreich ausgeführt wurde, erhalten Sie die folgende Ausgabe:

The number of elements in the Multiset : 6

Elements of the Multiset : 5 5 39 39 54 82

Zusammenfassung

Dieses Lab (Praktikum) bot einen Überblick über Multisets in C++ unter Verwendung der Standard Template Library (STL). Wir haben behandelt, wie man ein Multiset deklariert, Werte in es einfügt und seine Methoden untersucht. Wir haben auch gelernt, wie man Elemente, die kleiner als ein bestimmter Wert sind, löscht und das Multiset mit Iteratoren durchläuft. Schließlich haben wir den Code über das Terminal kompiliert und ausgeführt, um die Ausgabe zu überprüfen.