C ++ Multiset -Funktionen

C ++ Multiset -Funktionen
Die Multiset -Komponente der C ++ - Standardbibliothek wird von einem Satz verwendet, in dem die Werte der beteiligten Komponenten als Schlüsselwerte verwendet werden, um die Daten dynamisch zu organisieren, selbst wenn sie nicht eindeutig sein müssen. Es ist nicht einfach, den Schlüsselwert eines Elements in einem Multiset manuell zu ändern. Vielmehr sollten die Komponenten mit neuen Werten hinzugefügt und die alten Werte aus den Komponenten beseitigt werden. Die Multisets sind Container, die für Container identisch sind. Sie halten die Werte in Form von Schlüssel in einer bestimmten Reihenfolge, genau wie ein Satz. Die Elemente eines Multisets werden als Schlüssel genau wie die Sets angegeben.

Die primäre Unterscheidung zwischen einem Satz und einem Multiset besteht darin. Die binären Suchbäume werden mit Multiset -Tasten implementiert. Sobald die Elemente im Multiset enthalten sind, können diese Elemente nicht geändert werden. Sie konnten nur hinzugefügt oder entfernt werden. Die Header -Datei für #include enthält ein Multiset. Die Iteratoren können verwendet werden, um die Komponenten des Multiset abzurufen.

Methoden, die auf Multisets verwendet werden

Hier sind die folgenden C ++ Multiset -Methoden:

  • Begin () Funktion: Es gibt einem Iterator zum Anfangselement des Satzes einen Iterator.
  • End () Funktion: Es bietet nach dem endgültigen Element des Satzes einen Iterator für das Element.
  • Size () Funktion: Es liefert die Größeninformationen des Multiset.
  • Inise () Funktion: Es fügt dem Multiset ein Element hinzu.
  • ERASE () Funktion: Es entfernt die Komponenten des Multiset.
  • Find () Funktion: Wenn sich das Element befindet, gibt diese Funktion einen Iterator, der sich darauf bezieht. Andernfalls bietet es einen Iterator, der sich auf das Ende des Multiset bezieht.
  • Clear () Funktion: Es entfernt alle Elemente des Multiset.
  • Leere () Funktion: Es informiert uns über den Status des Multiset -Status als leer oder nicht.

Lassen Sie uns die Verwendung dieser Funktionen diskutieren.

Beispiel 1:

Die integrierte Methode von C ++ STL ist in der Header-Datei angegeben. Der nach dieser Methode zurückgegebene Iterator zeigt auf den ersten Element im Multiset -Container, mit dem er in Verbindung steht. Die Funktion begin () bezieht sich auf die Komponente, die das erste Element des Containers basiert, basierend auf der Sortierbedingung, da die Multiset -Container die Elemente in aufsteigender Reihenfolge behalten.

#enthalten
Verwenden von Namespace STD;
int main ()
int a [] = 22, 34, 51, 83, 68, 50, 96;
MultiScheckseck (a, a + 7);
Cout<<"The elements of the list are: ";
für (auto x = prüfen.Start(); X != Überprüfen Sie.Ende(); x ++)
Cout<< *x << " ";
Cout<<"\nFirst element of the list: "<<*(check.begin());
Rückkehr 0;

Zunächst stellen wir die Header -Datei vor . Diese Header -Datei ist der Verwendung der Multiset -Funktionen in C ++ - Programmen zugeordnet. Dann verwenden wir den Standard -Namespace als STD. Jetzt berufen wir die Main () -Methode. Hier initialisieren wir ein Array. Dieses Array enthält 7 verschiedene Werte. Diese Elemente des Arrays werden in einer Variablen „A“ gespeichert. Dann verwenden wir die Multiset -Funktion. Hier übergeben wir das Array als Parameter der Funktion. Jetzt wird die Anweisung „Cout“ verwendet, um alle Elemente der erforderlichen Liste anzuzeigen. Wir wenden die „für“ -Schloop an. Diese Schleife iteriert jeden Wert der Liste, bis die Bedingung erfüllt ist.

Wir verwenden die Methoden mit den Start () und End () innerhalb der Schleife "für". Die Funktion beginnt () startet die zu druckende Liste. Während die Funktion end () die Liste beendet. Als nächstes erhöhen wir den Wert der Schleifenvariablen. Wir verwenden die Anweisung "Cout" erneut, um den ersten Wert der angegebenen Liste zu drucken. Wir verwenden die Methode mit Beginn (), um den ersten Wert der Liste zu erhalten,. Am Ende geben wir den Befehl "return 0" ein.

Beispiel 2:

Die Funktion End () ist ein integrierter Teil des C ++ STL und befindet sich in der Header-Datei. Diese Funktion gibt einen Iterator zurück, der vor dem Endstandort auf den Multiset -Container verweist. Der Artikel, der nach dem letzten Element in einem Multiset-Container kommt. Mit anderen Worten, es zeigt nicht auf eine bestimmte Multiset -Containerkomponente. Diese Methode nimmt keine Argumente an.

#enthalten
Verwenden von Namespace STD;
int main ()
int v [] = 24, 64, 19, 35, 82, 59, 46;
MultiScheck (V, V + 7);
Cout<<"The items of the list are: ";
für (auto j = prüfen.Start(); J != Überprüfen Sie.Ende(); J ++)
Cout<< *j << " ";
Rückkehr 0;

Erstens die Header -Datei “Bits/STDC++.H ”wird hinzugefügt. Diese Bibliothek ist damit verbunden, wie die Multiset -Funktionen in den C ++ - Programmen verwendet werden. Der Standard -Namespace ist jetzt enthalten und als STD bezeichnet. Nachdem wir die Main () -Methode aufrufen, führen wir die Skripte im Körper der Funktion aus. Hier wird ein Array initialisiert. In diesem Array gibt es 7 verschiedene Elemente. Die Elemente dieser Arrays werden in der Variablen „V aufbewahrt.”Die Multiset -Funktion wird dann aufgerufen. Die tatsächliche Anzahl der Elemente im angegebenen Array ist ebenfalls angegeben.

Jetzt wird die gesamte erforderliche Liste mit der Anweisung "Cout" angezeigt. Wir verwenden die "für" Schleife. Diese Schleife wiederholt jeden Wert in der Liste, bis die Anforderung erfüllt ist. Wir nennen die Methoden "und end () in der" für "für" für "Schleife. Die zu angezeigte Liste wird nach der Methode mit der Beginn () initiiert und mit Hilfe der End () -Funktion abgeschlossen. Der Wert von „J“ wird im letzten Segment der „für“ -Schloop erhöht. Wir beschäftigen uns noch einmal mit der Cout -Erklärung. Die Anweisung "Return 0" wird am Ende ausgeführt.

Beispiel 3:

Die Header -Datei “Bits/STDC++.H ”enthält die integrierte Methode count () der C ++-Standard-Vorlagenbibliothek. Mit Hilfe dieser Funktion bestimmen wir, wie viele Elemente einen bestimmten Schlüssel haben. Diese Funktion kann angewendet werden, um die Häufigkeit zu zählen. Das gleiche Element wird in einem Multiset verwendet, da ein Multiset viele Werte für ein bestimmtes Mitglied enthalten kann. Im gesamten Container sucht Count () nach dem Schlüssel, und dann gibt es die Ergebnisse zurück. Die Methode gibt 0 zurück, wenn es keine der Elemente gibt, nach denen wir im Satz suchen. Der zugehörige Multiset -Container muss für den einen Wert der Methode als Argument untersucht werden, das es nimmt.

#enthalten
Verwenden von Namespace STD;
int main ()
int u [] = 78, 23, 56, 78, 91, 16, 78, 62;
MultiScheck (u, u + 8);
Cout<<"The values of the list are: ";
für (automatisch = prüfen.Start(); l != Überprüfen Sie.Ende(); l ++)
Cout<< *l << " ";
Cout<< "\n78 is present: "<Cout<< "\n56 is present: "<Rückkehr 0;

Zu Beginn schließen wir die Bibliothek ein. Im nächsten Schritt verwenden wir den Standard -Namespace. Die main () -Methode wird jetzt genannt. Hier wird ein Array initialisiert. In diesem Array sind acht verschiedene ganze Zahlen angegeben. Diese Array -Mitglieder werden in einer Variablen namens „u“ aufbewahrt.Als nächstes verwenden wir die Multiset -Methode. Hier geben wir das Array als Parameter für die Multiset -Funktion an. Wir geben auch die Gesamtanzahl dieses Arrays an. Die Werte der erforderlichen Liste werden dann mit der Anweisung "Cout" angezeigt. Die „für“ -Schloop wird hier verwendet. Bis die Bedingung erfüllt ist, durch diese Schleife durch jedes Element im Array durch.

Wir verwenden die Funktionen begin () und End () mit der „für“ -Schloop. Die Liste beginnt zu drucken, wenn die Methode begin () verwendet wird. Die Liste ist jedoch mit der Methode end () beendet. Der Wert des "I" wird in der "für" -Schloop erhöht. Noch einmal wird der Befehl "cout" angewendet, um die Wahrscheinlichkeit zu drucken, mit der die Nummer 78 in der definierten Liste angezeigt wird. Die Methode „count ()“ wird aufgerufen, um die Wahrscheinlichkeit zu finden. Wir möchten auch wissen, wie häufig der Wert „56“ in der Liste besteht. Wir verwenden also die Funktion count () noch einmal. Um die Antwort anzuzeigen, verwenden wir die Anweisung "Cout". Die Anweisung „Rückgabe 0“ wird zur Beendigung des Codes eingegeben.

Beispiel 4:

Der als Punkt eines Parameters angegebene Wert wird durch die Multiset -Methode, erase (), entfernt. Führen Sie das folgende Programm aus, um zu sehen, wie die ERASE () -Methode ausgeführt wird:

#enthalten
Verwenden von Namespace STD;
int main ()

Multisetset;
Multiset :: Iterator ITR;
für (int k = 1; k < 20; k++)
Satz.einfügen (k);

Cout<< "Original set: ";
für (itr = set.Start();
itr != festgelegt.Ende();
++ITR)
Cout
<< " << *itr;
Cout<< '\n';
itr = set.Start();
itr ++;
Satz.löschen (ITR);
Cout<< "Updated set: ";
für (itr = set.Start();
itr != festgelegt.Ende();
++ITR)
Cout<< " << *itr;
Cout<< '\n';
Rückkehr 0;

Hier integrieren wir die Bibliothek . Diese Header -Datei befasst sich mit der Verwendung der Multiset -Funktionen. Dann verwenden wir den Standard -Namespace. Zusammen mit diesem nennen wir die main () -Funktion. Wir verwenden die Multiset -Funktion zweimal. Für die erste Multiset -Methode wird der Satz als Attribut übergeben. Und für die zweite Multiset -Methode wird der ITR ITR als Argument bereitgestellt.

Darüber hinaus wenden wir die „für“ -Schloop an. Wir initialisieren zuerst eine Schleifenvariable. Dann iteriert der Schleifen über den Wert unter 20. Nächst. Wir verwenden die Anweisung "Cout", um die tatsächlichen Elemente zu zeigen. Lassen Sie uns die "für" -Schloops noch einmal verwenden. Hier nennen wir die methode begin (). Zusammen mit diesem berufen wir die end () -Funktion. Wir wenden diese Funktionen auf den Wert des Iterators „ITR“ an. Dann wird der Wert des Iterators um 1 erhöht. Wir möchten den zweiten Wert aus dem erforderlichen Satz entfernen, sodass wir die ERASE () -Methode verwenden.

Danach wird die Anweisung „Cout“ angewendet, um die Elemente des Satzes nach der Entfernung des zweiten Wertes zu drucken. Um die Elemente des Satzes in einer Sequenz anzuzeigen. Innerhalb der „für“ -Schloop werden die Funktionen von Beginn () und End () verwendet, um den Satz zu starten und zu beenden. Am Ende verwenden wir den Befehl "return 0".

Beispiel 5:

In dieser Abbildung fügen wir die Werte mit der Multiset -Funktion Insert () in den Satz ein?. Anschließend löschen wir alle Elemente mit der Multiset Clear () -Methode aus dem Satz.

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()
Multiset A1;
Multiset A2;
für (int j = 0; j < 15; j++)
A1.Insert (j + 1);

für (int j = 0; j < 15; j++)
A1.Insert (j + 1);

für (int j = 0; j < 15; j++)
A2.Insert ((j + 1) * 10);

für (int j = 0; j < 15; j++)
A2.Insert ((j + 1) * 10);

set :: iteratoriter;
für (iter = a1.Start(); Iter != a1.Ende(); Iter ++)
Cout<< * iter<< " ";
Cout<< '\n';
für (iter = a2.Start(); Iter != A2.Ende(); Iter ++)
Cout<< * iter<< " ";
Cout<< '\n';

Wir geben zwei Header -Dateien und zu Beginn des Codes ein. Dabei verwenden wir einen Standard -Namespace. Dann nennen wir die main () -Funktion. Beginnen wir mit der Codierung im Körper der Main () -Funktion. Zunächst nennen wir die Multiset -Funktion zweimal. Wir initialisieren zwei verschiedene Variablen mit dem Namen "A1" und "A2". Dann wenden wir die „für“ -Schloop an.

Nach der Initialisierung der Schleifenvariablen, der Anwendung der Bedingung auf der Schleifenvariablen und dem Inkrementieren des Werts der Schleifenvariablen verwenden wir die Methode Insert (), um die Elemente hinzuzufügen. Darüber hinaus rufen wir die Set -Funktion auf. Hier deklarieren wir eine variable „Iter“ für den Iterator. Wir erhöhen den Wert des „Iters“. Die "für" -Schloop wird für beide Variablen "A1" als auch für „A2“ verwendet.

A1.Löschen (6);
A2.löschen (A2.begin (), a2.finde (12));
Cout<< "After removing the element from the required set, now the size will be: " << a1.size() << '\n';
int v = 9;
if (a1.Finden Sie (v) != a1.Ende())
Cout<< "The defined set has: " << v << " values" <anders
Cout<< "The defined set does not have: " << v <Cout<< "The new values of the set: ";
für (iter = a1.Start(); Iter != a1.Ende(); Iter ++)
Cout<< * iter<< " ";
Cout<< '\n';
A1.klar();
if (a1.leere () == true)
Cout<< "The set has no element";

Rückkehr 0;

Darüber hinaus verwenden wir die ERASE () -Methode. Als nächstes verwenden wir die Find () -Methode, um das "12" Element aus dem Satz zu erhalten. Wir verwenden die Anweisung "Cout", um den Satz anzuzeigen, nachdem wir das Element "6" entfernen können. Dann initialisieren wir eine Variable "V". Wir nennen die Funktionen Find () und End () innerhalb der Bedingung „If“, die dem ersten Satz zugeordnet sind. Wir wenden die Bedingung „if“ auf das Element an, das der Funktion find () bereitgestellt wurde. Wenn diese Bedingung erfüllt ist, druckt „Cout“ die Elemente des Satzes aus. Andernfalls druckt die Anweisung „Cout“ die Nachricht, die zeigt, dass der erforderliche Wert im Satz nicht vorhanden ist.

Wieder verwenden wir die Funktionen für Schleifen, Start () und End (). Am Ende wenden wir die clear () -Methode und die „if“ -Sbemessung an. Wir definieren den Zustand im Körper des „If“. Wenn der Satz leer ist, zeigt die Anweisung "Cout" den Text "Das Set hat kein Element". Nach all dem wird der Befehl "return0" eingegeben.

Abschluss

Zuerst haben wir darüber gesprochen, was ein C ++ - Multiset ist. Dann beobachteten wir mehrere C ++ - Funktionen, die auf Multisets angewendet wurden. In diesem Artikel führen wir verschiedene Codes aus, die eine Vielzahl von Multiset -Methoden enthalten. In der ersten Abbildung verwendeten wir die Funktion "begin ()) und demonstrierten ihre Funktionalität. Ein Iterator, der sich auf das allererste Mitglied des Multiset bezieht, das mit dieser Methode verknüpft ist, ist der Rückgabewert der Funktion. Das zweite Beispiel zeigte, wie die Multiset -Funktion end () verwendet werden kann. Die Ausgabe dieser Methode ist ein Iterator, der an der letzten Komponente des Multisets vorbei zeigt. Die Methode count () wird in der nächsten Instanz verwendet, um zu untersuchen, was im Code passiert. Diese Funktion umfasst alle verfügbaren Ganzzahlen und teilen den gleichen Schlüssel. Dann führen wir das Programm mit der Funktion erase () aus. Das Element wird mit diesem Ansatz aus dem Satz entfernt. Um das Element zum Set hinzuzufügen, haben wir letztendlich die Insert () -Technik verwendet.