6, 10, 2, 8, 4 ir kopa; 2, 4, 6, 8, 10 ir to pašu veselu skaitļu kopa, kas sakārtota augošā secībā. Matemātikā kopai ir unikāli elementi (atšķirīgi elementi), tas ir, neviens elements nenotiek vairāk kā vienu reizi. Turklāt multiset ir kopa, kurā jebkurš elements var notikt vairāk nekā vienu reizi. 6, 6, 10, 2, 2, 8, 4, 4, 4 ir multiset. 2, 2, 4, 4, 4, 6, 6, 8, 10 ir vienādi multiset, bet ar elementiem sakārtoti augošā secībā. Šis raksts neattiecas uz multiset. Tas nodarbojas ar C ++ datu struktūru, ko sauc par set.
Karte programmatūrā ir kā masīvs, bet tas ir masīvs ar divām kolonnām, nevis vienu. Pirmajā kolonnā ir atslēgas, bet otrajā - vērtības. Katra rinda ir viens pāris, veidojot atslēgu / vērtību pāri. Atslēga ir tieši saistīta ar tās vērtību.
Kartes piemērs ir 'c', 30, 'b', 20, 'd', 30, 'e', 40, 'a', 10. Pirmais šeit ievietotais atslēgu / vērtību pāris ir 'c', 3, kur 'c' ir atslēga un 30 ir vērtība. Šī karte nav sakārtota ar taustiņiem. Pasūtot šo karti ar taustiņiem, iegūst 'a', 10, 'b', 20, 'c', 30, 'd', 30, 'e', 40. Ievērojiet, ka var būt dublētas vērtības, bet ne dublētas atslēgas. Sakārtota karte ir karte, kas sakārtota pēc taustiņiem.
Multiset ir kopa, tāpat kā multimap ir karte. Tas nozīmē, ka ir kartes ar atslēgu dublikātiem. Daudzkartes piemērs ir 'a', 10, 'b', 20, 'b', 20, 'c', 30, 'c', 30, 'd ', 30, ' e ', 40. Kā jau minēts iepriekš, šajā rakstā nav aplūkota multimap, drīzāk tā attiecas uz C ++ datu struktūru, ko sauc par mapi.
C ++ datu struktūra ir struktūra ar īpašībām (datu dalībnieki) un metodēm (dalībnieka funkcijas). Struktūras dati ir saraksts; komplekts ir saraksts; karte ir atslēgu / vērtību pāru saraksts.
Šajā rakstā ir apskatīti kopu un karšu pamati C ++, un, lai labāk izprastu šo rakstu, lasītājam bija jābūt pamatzināšanām par++.
Raksta saturs:
- Klase un tās objekti
- Komplekta vai kartes izveide
- Iteratora pamati
- Elements Piekļuve kopai un kartei
- Elementu secība komplektā vai kartē
- Citas bieži lietotās locekļu funkcijas
- Secinājums
Klase un tās objekti:
Programmā C ++ kopu, karti un citas līdzīgas struktūras sauc par konteineriem. Klase ir vispārināta vienība ar datu dalībniekiem, kas ir mainīgie, un dalībnieku funkcijām, kas ir saistītas. Kad datu dalībniekiem tiek piešķirtas vērtības, tiek izveidots objekts. Tomēr objekts tiek veidots procesā, ko sauc par instantiāciju. Tā kā klase var novest pie dažādu vērtību vienam un tam pašam datu dalībnieku mainīgajam, pēc tam vienā un tajā pašā klasē var instantizēt dažādus objektus.
Programmā C ++ nelietojams kopums ir klase, kā arī neizmantojama karte. Kad objekts tiek eksemplārs no neizmantojamās kopas vai neizmantojamās kartes, objekts kļūst par reālo datu struktūru. Izmantojot kopas un kartes datu struktūras, galvenais datu dalībnieks ir saraksts. Nu, kopa un karte veido konteineru grupu, ko sauc par pasūtītiem asociatīviem konteineriem. Pastāv arī nesakārtota kopa un nesakārtota karte, taču tās diemžēl šajā rakstā nav apskatītas.
Komplekta vai kartes izveide:
Instantējot kopu no tās kopas klases, tiek izveidots kopa; ja karte tiek parādīta no tās klases, tiek izveidota karte. Šādi izveidotajam objektam tiek piešķirts nosaukums pēc programmētāja izvēles.
Lai izveidotu kopu, programma jāsāk ar:
# iekļaut
# iekļaut
izmantojot nosaukumvietu std; Ievērojiet direktīvu “#include ”, Kas ietver kopu bibliotēku, kurai ir iestatītā klase, no kuras tiks kopētas datu struktūras.
Lai izveidotu karti, programma jāsāk ar:
# iekļaut
# iekļaut