6, 10, 2, 8, 4 ist ein Satz; 2, 4, 6, 8, 10 ist eine Menge derselben ganzen Zahlen, die in aufsteigender Reihenfolge angeordnet sind. In der Mathematik hat eine Menge eindeutige Elemente (eindeutige Elemente), d. h., kein Element kommt mehr als einmal vor. Außerdem ist eine Multimenge eine Menge, in der jedes Element mehr als einmal vorkommen kann. 6, 6, 10, 2, 2, 8, 4, 4, 4 ist eine Multimenge. 2, 2, 4, 4, 4, 6, 6, 8, 10 ist dieselbe Multimenge, jedoch mit aufsteigender Anordnung der Elemente. Dieser Artikel befasst sich nicht mit Multiset. Es befasst sich mit der C++-Datenstruktur namens set.
Eine Map in Software ist wie ein Array, aber es ist ein Array mit zwei Spalten statt einer. Die erste Spalte enthält die Schlüssel und die zweite Spalte enthält die Werte. Jede Zeile ist ein Paar, was ein Schlüssel/Wert-Paar ergibt. Ein Schlüssel steht in direktem Zusammenhang mit seinem Wert.
Ein Beispiel für eine Karte ist 'c',30, 'b',20, 'd',30, 'e',40, 'a',10. Das erste hier eingefügte Schlüssel/Wert-Paar ist 'c',3, wobei 'c' der Schlüssel und 30 der Wert ist. Diese Karte ist nicht nach Schlüsseln sortiert. Das Ordnen dieser Karte nach Schlüsseln ergibt 'a',10, 'b',20, 'c',30, 'd',30, 'e',40. Beachten Sie, dass es duplizierte Werte geben kann, aber keine duplizierten Schlüssel. Eine geordnete Karte ist eine nach Schlüsseln geordnete Karte.
Ein Multiset gehört zu einem Set, wie eine Multimap zu einer Karte. Das bedeutet, dass es Karten mit doppelten Schlüsseln gibt. Ein Beispiel für eine Multimap ist 'a',10, 'b',20, 'b',20, 'c',30, 'c',30, 'd ',30, 'e',40. Und wie oben erwähnt, befasst sich dieser Artikel nicht mit Multimap, sondern mit der C++-Datenstruktur namens map.
In C++ ist eine Datenstruktur eine Struktur mit Eigenschaften (Datenmember) und Methoden (Memberfunktionen). Die Daten der Struktur sind eine Liste; eine Menge ist eine Liste; eine Map ist eine Liste von Schlüssel/Wert-Paaren.
Dieser Artikel behandelt die Grundlagen von Mengen und Maps in C++, und um diesen Artikel besser zu verstehen, sollte der Leser über Grundkenntnisse in C . verfügen++.
Artikelinhalt:
- Klasse und ihre Objekte
- Erstellen eines Sets oder einer Karte
- Iterator-Grundlagen
- Elementzugriff für Set und Karte
- Reihenfolge der Elemente in einem Set oder einer Karte
- Andere häufig verwendete Memberfunktionen
- Fazit
Klasse und ihre Objekte:
In C++ werden die Menge, die Karte und andere ähnliche Strukturen als Container bezeichnet. Eine Klasse ist eine verallgemeinerte Einheit mit Datenmembern, bei denen es sich um Variablen handelt, und Memberfunktionen, die in Beziehung stehen. Wenn Datenmembern Werte zugewiesen werden, wird ein Objekt gebildet. Ein Objekt wird jedoch in einem Prozess namens Instanziierung gebildet. Da eine Klasse zu unterschiedlichen Werten für dieselben Datenelementvariablen führen kann, können dann verschiedene Objekte aus derselben Klasse instanziiert werden.
In C++ ist eine unbrauchbare Menge eine Klasse sowie eine unbrauchbare Map. Wenn ein Objekt aus der unbrauchbaren Menge oder der unbrauchbaren Karte instanziiert wird, wird das Objekt zur echten Datenstruktur. Bei den Datenstrukturen set und map ist das Hauptdatenelement eine Liste. Nun, die Menge und die Karte bilden eine Gruppe von Containern, die als geordnete assoziative Container bezeichnet werden. Ungeordnetes Set und die ungeordnete Karte gibt es auch, aber diese werden in diesem Artikel leider nicht behandelt.
Erstellen eines Sets oder einer Karte:
Das Instanziieren einer Menge aus ihrer Mengenklasse erzeugt eine Menge; Das Instanziieren einer Karte aus ihrer Kartenklasse ist das Erstellen einer Karte. Das so erstellte Objekt erhält einen Namen nach Wahl des Programmierers.
Um ein Set zu erstellen, sollte das Programm beginnen mit:
#einschließen
#einschließen
Verwenden von Namespace-Std; Beachten Sie die Direktive „#include ”, die die Set-Bibliothek enthält, die die Set-Klasse enthält, aus der die Set-Datenstrukturen instanziiert werden.
Um eine Karte zu erstellen, sollte das Programm beginnen mit:
#einschließen
#einschließen