C++
Utilizzando std :: unordered_map
Ricerca…
introduzione
std :: unordered_map è solo un contenitore associativo. Funziona su chiavi e le loro mappe. Chiave come dice il nome, aiuta ad avere unicità nella mappa. Mentre il valore mappato è solo un contenuto associato alla chiave. I tipi di dati di questa chiave e mappa possono essere qualsiasi tipo di dati predefinito o definito dall'utente.
Osservazioni
Come dice il nome, gli elementi nella mappa non ordinata non vengono memorizzati nella sequenza ordinata. Sono memorizzati in base ai loro valori hash e quindi l'utilizzo di una mappa non ordinata ha molti vantaggi, come ad esempio O (1) per cercare qualsiasi elemento da esso. È anche più veloce di altri contenitori di mappe. È anche visibile dall'esempio che è molto facile da implementare poiché l'operatore ([]) ci aiuta ad accedere direttamente al valore mappato.
Dichiarazione e uso
Come già accennato, puoi dichiarare una mappa non ordinata di qualsiasi tipo. Disponiamo di una mappa non ordinata denominata prima con tipo stringa e intero.
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
Alcune funzioni di base
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