Harta (STL)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Harta containerului este un container asociativ inclus în biblioteca standard C ++ . Definiția acestei clase se găsește în fișierul antet <map> al spațiului de nume std.

Descriere

Harta este un container asociativ care stochează perechi de obiecte (create de utilizator sau tipuri de bază) în care, la prima cheie definită, este asociată a doua valoare numită pur și simplu. Obiectele inserate pe hartă sunt stocate automat într-o poziție ordonată în raport cu cheia și această ordine este menținută pentru a minimiza timpii de căutare a elementelor. Dublurile cheilor nu sunt permise în hărți și timpul de acces la elemente este logaritmic (O (jurnal n)).

Datorită faptului că harta sortează automat elementele inserate, căutarea acestora se întâmplă destul de repede. Spre deosebire de containerele secvențiale, hărțile vă permit să creați asociații între două tipuri sau între două obiecte alese de utilizator, extinzând astfel conceptul de vector care asociază un tip sau obiect ales de utilizator la un index de tip int. La fel ca toate containerele, harta acceptă utilizarea multor algoritmi incluși în bibliotecile de șabloane standard, care le fac utilizarea mai eficientă.

Iată un exemplu de declarație și inserare pentru o hartă:

 #include <iostream>
#include <map>

folosind spațiul de nume std;
int main () {
   hartă <șir, int> m; // creați o hartă de la șiruri la numere întregi
   m ["casa"] = 5; // creați elementul cu cheia „casă” și atribuiți-i valoarea 5
   cout << m ["acasă"] << endl; // tipăriți 5
   retur 0;
}