6, 10, 2, 8, 4 este un set; 2, 4, 6, 8, 10 este un set de aceleași numere întregi, dispuse în ordine crescătoare. În matematică, un set are elemente unice (elemente distincte) și, adică, niciun element nu apare de mai multe ori. Mai mult, un multiset este un set, în care orice element poate apărea de mai multe ori. 6, 6, 10, 2, 2, 8, 4, 4, 4 este un multiset. 2, 2, 4, 4, 4, 6, 6, 8, 10 este același multiset, dar cu elementele aranjate în ordine crescătoare. Acest articol nu tratează multiset. Se ocupă de structura de date C ++ numită, set.
O hartă din software este ca o matrice, dar este o matrice cu două coloane în loc de una. Prima coloană are cheile și a doua coloană are valorile. Fiecare rând este o pereche, formând o pereche cheie / valoare. O cheie este direct legată de valoarea sa.
Un exemplu de hartă este 'c', 30, 'b', 20, 'd', 30, 'e', 40, 'a', 10. Prima pereche cheie / valoare inserată aici este 'c', 3, unde 'c' este cheia și 30 este valoarea. Această hartă nu este comandată de chei. Ordonarea acestei hărți prin taste produce 'a', 10, 'b', 20, 'c', 30, 'd', 30, 'e', 40. Observați că pot exista valori duplicate, dar nu chei duplicate. O hartă ordonată este o hartă ordonată prin chei.
Un multiset este un set, așa cum un multimap este o hartă. Aceasta înseamnă că există hărți cu chei duplicate. Un exemplu de multimapă este 'a', 10, 'b', 20, 'b', 20, 'c', 30, 'c', 30, 'd ', 30, ' e ', 40. Și, după cum sa menționat mai sus, acest articol nu tratează multimap, ci se referă la structura de date C ++ numită, hartă.
În C ++, o structură de date este o structură cu proprietăți (membri de date) și metode (funcții de membru). Datele structurii sunt o listă; un set este o listă; o hartă este o listă de perechi cheie / valoare.
Acest articol discută elementele de bază ale seturilor și hărților în C ++ și, pentru a înțelege mai bine acest articol, cititorul ar fi trebuit să aibă cunoștințe de bază despre C++.
Conținutul articolului:
- Clasa și obiectele sale
- Crearea unui set sau a unei hărți
- Bazele Iteratorului
- Acces element pentru set și hartă
- Ordinea elementelor dintr-un set sau hartă
- Alte funcții de membru utilizate în mod obișnuit
- Concluzie
Clasa și obiectele sale:
În C ++, setul, harta și alte structuri similare sunt numite containere. O clasă este o unitate generalizată cu membri de date, care sunt variabile și funcții de membru care sunt legate. Când membrilor datelor li se dau valori, se formează un obiect. Cu toate acestea, un obiect este format într-un proces numit instanțierea. Deoarece o clasă poate duce la valori diferite pentru aceleași variabile membre de date, obiecte diferite pot fi apoi instanțiate din aceeași clasă.
În C ++, un set inutilizabil este o clasă, precum și o hartă inutilizabilă. Când un obiect este instanțiat din setul inutilizabil sau din harta inutilizabilă, obiectul devine structura reală a datelor. Cu setul și structurile de date ale hărții, membrul principal al datelor este o listă. Ei bine, setul și harta formează un grup de containere numite, containere asociative comandate. Setul neordonat și harta neordonată există și ele, dar, din păcate, acestea nu sunt abordate în acest articol.
Crearea unui set sau a unei hărți:
Instanțierea unui set din clasa sa de seturi este crearea unui set; crearea unei hărți din clasa sa de hărți este crearea unei hărți. Obiectului astfel creat i se dă un nume la alegerea programatorului.
Pentru a crea un set, programul ar trebui să înceapă cu:
#include
#include
folosind spațiul de nume std; Rețineți directiva „#include ”, Care include biblioteca de seturi care are clasa de seturi din care vor fi instanțiate structurile de date setate.
Pentru a crea o hartă, programul ar trebui să înceapă cu:
#include
#include