logo

C++ kartfunksjon

Kart er en del av C++ STL (Standard Template Library). Kart er de assosiative beholderne som lagrer sortert nøkkelverdi-par, der hver nøkkel er unik og den kan settes inn eller slettes, men kan ikke endres. Verdier knyttet til nøkler kan endres.

For eksempel: Et kart over ansatte der ansatt-ID er nøkkelen og navnet er verdien kan representeres som:

Nøkler Verdier
101 Nikita
102 Robin
103 Dyp
104 John

Syntaks

 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>

Parameter

nøkkel: Nøkkeldatatypen som skal lagres i kartet.

type: Datatypen verdi som skal lagres i kartet.

sammenligne: En sammenligningsklasse som tar to argumenter av samme type bool og returnerer en verdi. Dette argumentet er valgfritt, og det binære predikatet mindre er standardverdien.

allokere: Type tildelerobjekt. Dette argumentet er valgfritt og standardverdien er allokator .

.tif-fil

Opprette et kart

Kart kan enkelt lages ved å bruke følgende setning:

 typedef pair value_type; 

Skjemaet ovenfor vil brukes til å lage et kart med nøkkeltype Nøkkeltype og typens verdi verditype. En viktig ting er at nøkkelen til et kart og tilsvarende verdier alltid settes inn som et par, du kan ikke sette inn bare nøkkel eller bare en verdi i et kart.

Eksempel 1

 #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; } } 

Produksjon:

 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 

Medlemsfunksjoner

Nedenfor er listen over alle medlemsfunksjonene til kartet:

Byggmester/ødelegger

Funksjoner Beskrivelse
konstruktører Konstruer kart
ødeleggere Kartdestruktor
operatør= Kopier elementer av kartet til et annet kart.

Iteratorer

Funksjoner Beskrivelse
begynne Returnerer en iterator som peker til det første elementet i kartet.
cbegynn Returnerer en konst iterator som peker til det første elementet i kartet.
slutt Returnerer en iterator som peker til fortiden.
Noen Returnerer en konstant iterator som peker til fortiden.
begynne Returnerer en omvendt iterator som peker mot slutten.
gjør at Returnerer en omvendt iterator som peker til begynnelsen.
begynne Returnerer en konstant omvendt iterator som peker mot slutten.
tro Returnerer en konstant omvendt iterator som peker til begynnelsen.

Kapasitet

Funksjoner Beskrivelse
tømme Returnerer sant hvis kartet er tomt.
størrelse Returnerer antall elementer i kartet.
maks_størrelse Returnerer maksimal størrelse på kartet.

Elementtilgang

Funksjoner Beskrivelse
operatør[] Hent elementet med gitt nøkkel.
Hent elementet med gitt nøkkel.

Modifikatorer

Funksjoner Beskrivelse
sett inn Sett inn element i kartet.
viske ut Slett elementer fra kartet.
bytte Bytt ut innholdet på kartet.
klar Slett alle elementene på kartet.
plassering Konstruer og sett inn de nye elementene i kartet.
emplace_hint Konstruer og sett inn nye elementer i kartet etter hint.

Observatører

Funksjoner Beskrivelse
key_comp Returner en kopi av nøkkelsammenligningsobjektet.
verdi_komp Returner en kopi av verdisammenligningsobjektet.

Drift

Funksjoner Beskrivelse
finne Søk etter et element med gitt nøkkel.
telle Får antall elementer som samsvarer med gitt nøkkel.
nedre_grense Returnerer en iterator til nedre grense.
øvre grense Returnerer en iterator til øvre grense.
like_område Returnerer utvalget av elementer som samsvarer med gitt nøkkel.

Fordeler

Funksjoner Beskrivelse
get_allocator Returnerer et allokeringsobjekt som brukes til å konstruere kartet.

Overbelastede funksjoner som ikke er medlemmer

Funksjoner Beskrivelse
operatør== Sjekker om de to kartene er like eller ikke.
operatør!= Sjekker om de to kartene er like eller ikke.
operatør< Sjekker om det første kartet er mindre enn det andre eller ikke.
operatør<=< td> Sjekker om det første kartet er mindre enn eller likt det andre eller ikke.
operatør> Sjekker om det første kartet er større enn det andre eller ikke.
operatør>= Sjekker om det første kartet er større enn det andre eller ikke.
bytte() Bytter elementet av to kart.