C++
Verwenden von std :: unordered_map
Suche…
Einführung
std :: unordered_map ist nur ein assoziativer Container. Es funktioniert auf Schlüsseln und deren Karten. Key, wie der Name sagt, hilft, Eindeutigkeit in der Karte zu haben. Der zugeordnete Wert ist nur ein Inhalt, der dem Schlüssel zugeordnet ist. Die Datentypen dieses Schlüssels und dieser Zuordnung können jeder vordefinierte oder benutzerdefinierte Datentyp sein.
Bemerkungen
Wie der Name sagt, werden die Elemente in der ungeordneten Karte nicht in sortierter Reihenfolge gespeichert. Sie werden entsprechend ihren Hashwerten gespeichert. Daher hat die Verwendung einer ungeordneten Karte viele Vorteile, da zum Durchsuchen eines Elements nur O (1) erforderlich ist. Es ist auch schneller als andere Kartencontainer. Das Beispiel zeigt auch, dass es sehr einfach zu implementieren ist, da der Operator ([]) uns hilft, direkt auf den zugeordneten Wert zuzugreifen.
Erklärung und Verwendung
Wie bereits erwähnt, können Sie eine ungeordnete Karte eines beliebigen Typs deklarieren. Wir haben eine ungeordnete Map mit dem String- und Integer-Typ.
unordered_map<string, int> first; //declaration of the map
first["One"] = 1; // [] operator used to insert the value
first["Two"] = 2;
first["Three"] = 3;
first["Four"] = 4;
first["Five"] = 5;
pair <string,int> bar = make_pair("Nine", 9); //make a pair of same type
first.insert(bar); //can also use insert to feed the values
Einige Grundfunktionen
unordered_map<data_type, data_type> variable_name; //declaration
variable_name[key_value] = mapped_value; //inserting values
variable_name.find(key_value); //returns iterator to the key value
variable_name.begin(); // iterator to the first element
variable_name.end(); // iterator to the last + 1 element