3141 afișări Andrei Visalon (Prekzursil) 21.04.2022 www.pbinfo.ro
Etichete: nicio etichetă

Map este un container associativ care are formatul <Key,Value> de diferite tipuri de date, cu key unic ordonat crescator, inclus in biblioteca map.

  • Structura generală a unui astfel de map este
    pre. map<tip_date,tip_date> nume;

exemplu

map<string,int> nume -> pentru de ex a numara cuvinte.

In limbaj comun, se poate folosi ca un vector de frecventa pentru a numara o anumita cheie pe valoarea corespunzatoare.

Pentru a adauga elemente in acest tip de date se va folosi operatorul [].

ex: m[5]=1;

Pentru a parcurge map-ul nefiind un container secvential, nu se poate accesa cu random access iterator si va fi nevoie de un iterator specific mapului care sa parcurga map-ul in segmentul begin->end.

map<int,int> m;
map[1]=2;
map[2]=5;
map[1]++;
map[3]=10;
map<int,int>::iterator it;
for(it=m.begin();it!=m.end();it++)
	cout<<it->first<<" "<<it->second<<endl;

Va afisa:

1 3
2 5
3 10

In cazul in care se foloseste aceelasi aspect pentru stringuri:

map<string,int> m;
map["apa"]=2;
map["mar"]=5;
map["ger"]++;
map["apa"]=10;
map<int,int>::iterator it;
for(it=m.begin();it!=m.end();it++)
	cout<<it->first<<" "<<it->second<<endl;

Va afisa:

apa 10
ger 1
mar 5

Cum este un container STL exista functii comune adaptate pentru acest container care pot fi vizualizate in STL Vector.

De asemenea am atasat un template facut de mine care implementeaza map, pentru observarea operatilor care sunt facute, dar este recomandata folosirea map din STL deoarece sigur este mai slefuita.


3141 afișări Andrei Visalon (Prekzursil) 21.04.2022 www.pbinfo.ro