C++
Używanie std :: unordered_map
Szukaj…
Wprowadzenie
std :: unordered_map to tylko kontener asocjacyjny. Działa na kluczach i ich mapach. Klucz, jak sama nazwa wskazuje, pomaga zachować wyjątkowość na mapie. Podczas gdy wartość odwzorowana jest tylko treścią powiązaną z kluczem. Typy danych tego klucza i mapy mogą być dowolnymi predefiniowanymi typami danych lub zdefiniowanymi przez użytkownika.
Uwagi
Jak sama nazwa wskazuje, elementy na nieuporządkowanej mapie nie są przechowywane w posortowanej kolejności. Są one przechowywane zgodnie z ich wartościami skrótu, a zatem użycie nieuporządkowanej mapy ma wiele zalet, takich jak przeszukiwanie dowolnego elementu z O tylko przez O (1). Jest także szybszy niż inne kontenery na mapy. Z przykładu widać również, że jest bardzo łatwy do wdrożenia, ponieważ operator ([]) pomaga nam uzyskać bezpośredni dostęp do zmapowanej wartości.
Deklaracja i sposób użycia
Jak już wspomniano, możesz zadeklarować nieuporządkowaną mapę dowolnego typu. Miejmy nieuporządkowaną mapę o nazwie najpierw z ciągiem i liczbą całkowitą.
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
Niektóre podstawowe funkcje
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