logo

C++-Kartenfunktion

Karten sind Teil der C++ STL (Standard Template Library). Karten sind assoziative Container, die sortierte Schlüssel-Wert-Paare speichern, in denen jeder Schlüssel eindeutig ist und eingefügt oder gelöscht, aber nicht geändert werden kann. Mit Schlüsseln verknüpfte Werte können geändert werden.

Zum Beispiel: Eine Karte von Mitarbeitern, bei der die Mitarbeiter-ID der Schlüssel und der Name der Wert ist, kann wie folgt dargestellt werden:

Schlüssel Werte
101 Nikita
102 Robin
103 Tief
104 John

Syntax

 template <class key, map::key_type class t, map::mapped_type compare="less," map::key_compare alloc="allocator&lt;pair"> // map::allocator_type &gt; class map; </class>

Parameter

Schlüssel: Der Schlüsseldatentyp, der in der Karte gespeichert werden soll.

Typ: Der Datentyp des Werts, der in der Karte gespeichert werden soll.

vergleichen: Eine Vergleichsklasse, die zwei Argumente desselben Typs bool akzeptiert und einen Wert zurückgibt. Dieses Argument ist optional und das binäre Prädikat less ist der Standardwert.

zuordnen: Typ des Allokatorobjekts. Dieses Argument ist optional und der Standardwert ist allocator .

Zum Array Java hinzufügen

Erstellen einer Karte

Karten können einfach mit der folgenden Anweisung erstellt werden:

 typedef pair value_type; 

Das obige Formular wird zum Erstellen einer Karte mit dem Schlüsseltyp verwendet Schlüsselart und Wert des Typs Werttyp. Wichtig ist, dass der Schlüssel einer Karte und die entsprechenden Werte immer als Paar eingefügt werden. Sie können nicht nur einen Schlüssel oder nur einen Wert in eine Karte einfügen.

Beispiel 1

 #include #include #include #include using namespace std; int main() { map Employees; // 1) Assignment using array index notation Employees[101] = &apos;Nikita&apos;; Employees[105] = &apos;John&apos;; Employees[103] = &apos;Dolly&apos;; Employees[104] = &apos;Deep&apos;; Employees[102] = &apos;Aman&apos;; cout &lt;&lt; &apos;Employees[104]=&apos; &lt;&lt; Employees[104] &lt;&lt; endl &lt;&lt; endl; cout &lt;&lt; &apos;Map size: &apos; &lt;&lt; Employees.size() &lt;&lt; endl; cout &lt;&lt; endl &lt;&lt; &apos;Natural Order:&apos; &lt;&lt; endl; for( map::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } cout &lt;&lt; endl &lt;&lt; &apos;Reverse Order:&apos; &lt;&lt; endl; for( map::reverse_iterator ii=Employees.rbegin(); ii!=Employees.rend(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } } 

Ausgabe:

 Employees[104]=Deep Map size: 5 Natural Order: 101: Nikita 102: Aman 103: Dolly 104: Deep 105: John Reverse Order: 105: John 104: Deep 103: Dolly 102: Aman 101: Nikita 

Mitgliedsfunktionen

Nachfolgend finden Sie die Liste aller Mitgliedsfunktionen von Map:

Erbauer/Zerstörer

Funktionen Beschreibung
Konstrukteure Karte erstellen
Zerstörer Kartenzerstörer
Operator= Elemente der Karte auf eine andere Karte kopieren.

Iteratoren

Funktionen Beschreibung
beginnen Gibt einen Iterator zurück, der auf das erste Element in der Karte zeigt.
cbeginnen Gibt einen konstanten Iterator zurück, der auf das erste Element in der Karte zeigt.
Ende Gibt einen Iterator zurück, der auf das vergangene Ende zeigt.
ein paar Gibt einen konstanten Iterator zurück, der auf das vergangene Ende zeigt.
rbeginnen Gibt einen umgekehrten Iterator zurück, der auf das Ende zeigt.
macht Gibt einen umgekehrten Iterator zurück, der auf den Anfang zeigt.
crbegin Gibt einen konstanten Reverse-Iterator zurück, der auf das Ende zeigt.
glauben Gibt einen konstanten Reverse-Iterator zurück, der auf den Anfang zeigt.

Kapazität

Funktionen Beschreibung
leer Gibt true zurück, wenn die Karte leer ist.
Größe Gibt die Anzahl der Elemente in der Karte zurück.
maximale Größe Gibt die maximale Größe der Karte zurück.

Elementzugriff

Funktionen Beschreibung
Operator[] Rufen Sie das Element mit dem angegebenen Schlüssel ab.
bei Rufen Sie das Element mit dem angegebenen Schlüssel ab.

Modifikatoren

Funktionen Beschreibung
einfügen Element in die Karte einfügen.
löschen Elemente aus der Karte löschen.
tauschen Tauschen Sie den Inhalt der Karte aus.
klar Löschen Sie alle Elemente der Karte.
Standort Konstruieren Sie die neuen Elemente und fügen Sie sie in die Karte ein.
emplace_hint Konstruieren Sie neue Elemente und fügen Sie sie per Hinweis in die Karte ein.

Beobachter

Funktionen Beschreibung
key_comp Gibt eine Kopie des Schlüsselvergleichsobjekts zurück.
value_comp Gibt eine Kopie des Wertvergleichsobjekts zurück.

Operationen

Funktionen Beschreibung
finden Suchen Sie nach einem Element mit dem angegebenen Schlüssel.
zählen Ruft die Anzahl der Elemente ab, die mit dem angegebenen Schlüssel übereinstimmen.
untere_Grenze Gibt einen Iterator zur Untergrenze zurück.
obere Grenze Gibt einen Iterator zur Obergrenze zurück.
equal_range Gibt den Bereich der Elemente zurück, die mit dem angegebenen Schlüssel übereinstimmen.

Allokator

Funktionen Beschreibung
get_allocator Gibt ein Allokatorobjekt zurück, das zum Erstellen der Karte verwendet wird.

Überladene Nicht-Member-Funktionen

Funktionen Beschreibung
Operator== Überprüft, ob die beiden Karten gleich sind oder nicht.
Operator!= Überprüft, ob die beiden Karten gleich sind oder nicht.
Operator< Überprüft, ob die erste Karte kleiner als die andere ist oder nicht.
Operator<=< td> Überprüft, ob die erste Karte kleiner oder gleich der anderen ist oder nicht.
Operator> Überprüft, ob die erste Karte größer als die anderen ist oder nicht.
Operator>= Überprüft, ob die erste Karte größer als gleich der anderen ist oder nicht.
tauschen() Tauscht das Element zweier Karten aus.