logo

C++ kartes funkcija

Kartes ir daļa no C++ STL (standarta veidņu bibliotēkas). Kartes ir asociatīvie konteineri, kuros tiek glabāts sakārtots atslēgu un vērtību pāris, kurā katra atslēga ir unikāla un to var ievietot vai dzēst, bet nevar mainīt. Ar taustiņiem saistītās vērtības var mainīt.

Piemēram: Darbinieku karti, kur darbinieka ID ir atslēga un vārds ir vērtība, var attēlot šādi:

Atslēgas Vērtības
101 Ņikita
102 Robins
103 Dziļi
104 Džons

Sintakse

 template <class key, map::key_type class t, map::mapped_type compare="less," map::key_compare alloc="allocator&lt;pair"> // map::allocator_type &gt; class map; </class>

Parametrs

atslēga: Galvenais datu tips, kas jāsaglabā kartē.

veids: Kartē saglabājamās vērtības datu tips.

salīdzināt: Salīdzināšanas klase, kas izmanto divus viena veida bool argumentus un atgriež vērtību. Šis arguments nav obligāts, un binārais predikāts mazāk ir noklusējuma vērtība.

piešķirt: Sadalītāja objekta tips. Šis arguments nav obligāts, un noklusējuma vērtība ir allokators .

izņēmumu apstrādes java

Kartes izveide

Kartes var viegli izveidot, izmantojot šādu paziņojumu:

 typedef pair value_type; 

Iepriekš esošā veidlapa tiks izmantota, lai izveidotu karti ar atslēgu veida Atslēgas veids un tipa vērtība vērtības veids. Svarīgi ir tas, ka kartes atslēga un atbilstošās vērtības vienmēr tiek ievietotas kā pāris, kartē nevar ievietot tikai atslēgu vai tikai vērtību.

1. piemērs

 #include #include #include #include using namespace std; int main() { map Employees; // 1) Assignment using array index notation Employees[101] = &apos;Nikita&apos;; Employees[105] = &apos;John&apos;; Employees[103] = &apos;Dolly&apos;; Employees[104] = &apos;Deep&apos;; Employees[102] = &apos;Aman&apos;; cout &lt;&lt; &apos;Employees[104]=&apos; &lt;&lt; Employees[104] &lt;&lt; endl &lt;&lt; endl; cout &lt;&lt; &apos;Map size: &apos; &lt;&lt; Employees.size() &lt;&lt; endl; cout &lt;&lt; endl &lt;&lt; &apos;Natural Order:&apos; &lt;&lt; endl; for( map::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } cout &lt;&lt; endl &lt;&lt; &apos;Reverse Order:&apos; &lt;&lt; endl; for( map::reverse_iterator ii=Employees.rbegin(); ii!=Employees.rend(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } } 

Izvade:

 Employees[104]=Deep Map size: 5 Natural Order: 101: Nikita 102: Aman 103: Dolly 104: Deep 105: John Reverse Order: 105: John 104: Deep 103: Dolly 102: Aman 101: Nikita 

Dalībnieku funkcijas

Zemāk ir visu kartes dalībnieku funkciju saraksts:

Celtnieks/iznīcinātājs

Funkcijas Apraksts
konstruktori Izveidojiet karti
iznīcinātāji Kartes iznīcinātājs
operators= Kopējiet kartes elementus citā kartē.

Iteratori

Funkcijas Apraksts
sākt Atgriež iteratoru, kas norāda uz pirmo elementu kartē.
cbegin Atgriež const iteratoru, kas norāda uz pirmo elementu kartē.
beigas Atgriež iteratoru, kas norāda uz pagātnes beigas.
daži Atgriež pastāvīgu iteratoru, kas norāda uz pagātnes beigas.
rbegin Atgriež apgriezto iteratoru, kas norāda uz beigām.
padara Atgriež apgriezto iteratoru, kas norāda uz sākumu.
crbegin Atgriež pastāvīgu reverso iteratoru, kas norāda uz beigām.
ticēt Atgriež pastāvīgu reverso iteratoru, kas norāda uz sākumu.

Jauda

Funkcijas Apraksts
tukšs Atgriež patieso vērtību, ja karte ir tukša.
Izmērs Atgriež elementu skaitu kartē.
max_size Atgriež maksimālo kartes izmēru.

Elementu piekļuve

Funkcijas Apraksts
operators[] Izgūt elementu ar doto atslēgu.
plkst Izgūt elementu ar doto atslēgu.

Modifikatori

Funkcijas Apraksts
ievietot Ievietot elementu kartē.
dzēst Dzēst elementus no kartes.
mijmaiņa Apmainieties ar kartes saturu.
skaidrs Dzēsiet visus kartes elementus.
atrašanās vieta Izveidojiet un ievietojiet kartē jaunos elementus.
emplace_hint Izveidojiet un ievietojiet kartē jaunus elementus ar mājienu.

Novērotāji

Funkcijas Apraksts
key_comp Atgriezt atslēgu salīdzināšanas objekta kopiju.
value_comp Atgriezt vērtību salīdzināšanas objekta kopiju.

Operācijas

Funkcijas Apraksts
atrast Meklējiet elementu ar doto atslēgu.
skaitīt Iegūst to elementu skaitu, kas atbilst dotajai atslēgai.
apakšējā_ robeža Atgriež iteratora apakšējo robežu.
augšējā_ robeža Atgriež iteratora augšējo robežu.
vienāds_diapazons Atgriež elementu diapazonu, kas atbilst dotajai atslēgai.

Alokators

Funkcijas Apraksts
get_allocator Atgriež sadalītāja objektu, kas tiek izmantots kartes izveidošanai.

Ne-biedru pārslogotas funkcijas

Funkcijas Apraksts
operators== Pārbauda, ​​vai abas kartes ir vienādas.
operators!= Pārbauda, ​​vai abas kartes ir vienādas.
operators< Pārbauda, ​​vai pirmā karte ir mazāka par citu.
operators<=< td> Pārbauda, ​​vai pirmā karte ir mazāka vai vienāda ar citu vai nav.
operators> Pārbauda, ​​vai pirmā karte ir lielāka par citu.
operators>= Pārbauda, ​​vai pirmā karte ir lielāka par vienādu ar citu.
apmainīt () Apmaina divu karšu elementu.