Kart er assosiative beholdere som lagrer elementer på en kartlagt måte. Hvert element har en nøkkelverdi og en kartlagt verdi. Ingen to tilordnede verdier kan ha de samme nøkkelverdiene.
std::map er klassemalen for kartcontainere og den er definert inne i overskriftsfilen.
Grunnleggende std::map Medlemsfunksjoner
Noen grunnleggende funksjoner knyttet til std::map er:
- begynne() – Returnerer en iterator til det første elementet i kartet.
- slutt() – Returnerer en iterator til det teoretiske elementet som følger det siste elementet i kartet.
- størrelse() – Returnerer antall elementer i kartet.
- max_size() – Returnerer maksimalt antall elementer som kartet kan inneholde.
- tømme() – Returnerer om kartet er tomt.
- par insert (nøkkelverdi, kartverdi) – Legger til et nytt element på kartet.
- slett (iteratorposisjon) – Fjerner elementet i posisjonen pekt av iteratoren.
- slette(konst g) – Fjerner nøkkelverdien 'g' fra kartet.
- klar() – Fjerner alle elementene fra kartet.
Eksempler på std::map
Følgende eksempler viser hvordan du utfører grunnleggende operasjoner på kartcontainere.
Eksempel 1: start() og end() funksjon
C++
// C++ program to illustrate the begin and end iterator> #include> #include> #include> using> namespace> std;> int> main()> {> > // Create a map of strings to integers> > mapint>mp; // Sett inn noen verdier i kartet mp['one'] = 1; mp['to'] = 2; mp['tre'] = 3; // Få en iterator som peker på det første elementet i // mapmapint>::iterator it = mp.begin(); // Iterer gjennom kartet og skriv ut elementene mens (it != mp.end()) { cout<< 'Key: ' << ', Value: ' ++it; } return 0; }> |
>
10 av 50
>Produksjon
Key: one, Value: 1 Key: three, Value: 3 Key: two, Value: 2>
Kompleksiteten til metoden ovenfor:
Tidskompleksitet: O(n) hvor n er størrelsen på kartet.
Hjelpeplass: På)
Eksempel 2: size() funksjon
C++
// C++ program to illustrate the size() function> #include> #include> #include> using> namespace> std;> int> main()> {> > // Create a map of strings to integers> > mapint>kart; // Sett inn noen verdier i kartkartet['one'] = 1; kart['to'] = 2; kart['tre'] = 3; // Skriv ut størrelsen på kartutsnittet<< 'Size of map: ' << map.size() << endl; return 0; }> |
>
>Produksjon
Size of map: 3>
Kompleksiteten til metoden ovenfor:
Tidskompleksitet: O(1).
Eksempel 3: Implementeringskart
CPP
// CPP Program to demonstrate the implementation in Map> // divyansh mishra -->divyanshmishra101010> #include> #include> #include> using> namespace> std;> int> main()> {> > // empty map container> > map<> int> ,> int> >gquiz1;> > // insert elements in random order> > gquiz1.insert(pair<> int> ,> int> >(1, 40));> > gquiz1.insert(pair<> int> ,> int> >(2, 30));> > gquiz1.insert(pair<> int> ,> int> >(3, 60));> > gquiz1.insert(pair<> int> ,> int> >(4, 20));> > gquiz1.insert(pair<> int> ,> int> >(5, 50));> > gquiz1.insert(pair<> int> ,> int> >(6, 50));> > // another way of inserting a value in a map> > gquiz1[7] = 10;> > // printing map gquiz1> > map<> int> ,> int> >::iterator itr;> > cout <<> '
The map gquiz1 is :
'> ;> > cout <<> ' KEY ELEMENT
'> ;> > for> (itr = gquiz1.begin(); itr != gquiz1.end(); ++itr) {> > cout <<> ' '> ' ' << '
'; } cout << endl; // assigning the elements from gquiz1 to gquiz2 map |
>
>Produksjon
The map gquiz1 is : KEY ELEMENT 1 40 2 30 3 60 4 20 5 50 6 50 7 10 The map gquiz2 after assign from gquiz1 is : KEY ELEMENT 1 40 2 30 3 60 4 20 5 50 6 50 7 10 gquiz2 after remov...>
Kompleksiteten til metoden ovenfor:
Tidskompleksitet: O(n log(n)) som n er størrelsen på kartet
Ekstra plass: På)
Eksempel 4: Implementering av kart over heltall
C++
// C++ program to implement map container> #include> #include> #include> using> namespace> std;> int> main()> {> > // Create a map of strings to integers> > mapint>kart; // Sett inn noen verdier i kartkartet['one'] = 1; kart['to'] = 2; kart['tre'] = 3; // Skriv ut verdiene i kartutsnittet<< 'Key: one, Value: ' << map['one'] << endl; cout << 'Key: two, Value: ' << map['two'] << endl; cout << 'Key: three, Value: ' << map['three'] << endl; // Check if a key is in the map if (map.count('four')>0) { cout<< 'Key 'four' is in the map' << endl; } else { cout << 'Key 'four' is not in the map' << endl; } return 0; }> |
>
>Produksjon
Key: one, Value: 1 Key: two, Value: 2 Key: three, Value: 3 Key 'four' is not in the map>
Liste over alle funksjoner til std::map
Følgende tabell inneholder alle funksjonene som er definert i std::map-klassen.
Funksjon | Definisjon |
---|---|
map::insert() | Sett inn elementer med en bestemt nøkkel i kartbeholderen –> O(log n) |
kart:: telle() | Returnerer antall treff til element med nøkkelverdi «g» i kartet. –> O(log n) |
kart like_område() | Returnerer en iterator av par. Paret refererer til grensene for et område som inkluderer alle elementene i beholderen som har en nøkkel som tilsvarer k. |
kart slett() | Brukes til å slette elementer fra beholderen –> O(log n) |
kart rend() | Returnerer en omvendt iterator som peker på det teoretiske elementet rett før det første nøkkelverdi-paret i kartet (som regnes som dets motsatte ende). Hvordan laste ned YouTube-videoer vlc |
kart rbegin()
| Returnerer en omvendt iterator som peker til det siste elementet i kartet. |
kartfinn() | Returnerer en iterator til elementet med nøkkelverdi 'g' i kartet hvis den finnes, ellers returnerer iteratoren til slutt. |
kart crbegin() og crend() | crbegin() returnerer en konstant omvendt iterator som refererer til det siste elementet i kartbeholderen. crend() returnerer en konstant omvendt iterator som peker til det teoretiske elementet før det første elementet i kartet. |
kart cbegin() og cend() | cbegin() returnerer en konstant iterator som refererer til det første elementet i kartbeholderen. cend() returnerer en konstant iterator som peker til det teoretiske elementet som følger det siste elementet i multikartet. |
kart emplace() | Setter inn nøkkelen og dens element i kartbeholderen. |
kart max_size() | Returnerer det maksimale antallet elementer en kartbeholder kan inneholde –> O(1) |
kart øvre_grense() | Returnerer en iterator til det første elementet som tilsvarer tilordnet verdi med nøkkelverdi 'g' eller definitivt vil gå etter elementet med nøkkelverdi 'g' i kartet |
kartoperatør= | Tildeler innholdet i en beholder til en annen beholder, og erstatter dens nåværende innhold. |
kart nedre_grense() | Returnerer en iterator til det første elementet som tilsvarer den tilordnede verdien med nøkkelverdi 'g' eller som definitivt ikke vil gå før elementet med nøkkelverdi 'g' i kartet -> O(log n) |
kart emplace_hint() | Setter inn nøkkelen og dens element i kartbeholderen med et gitt hint. |
kart verdi_komp() | Returnerer objektet som bestemmer hvordan elementene i kartet er sortert («<» som standard). |
map key_comp() | Returnerer objektet som bestemmer hvordan elementene i kartet er sortert («<» som standard). |
kart::størrelse() | Returnerer antall elementer i kartet. |
map::empty() | Returnerer om kartet er tomt |
map::begin() og end() | begin() returnerer en iterator til det første elementet i kartet. end() returnerer en iterator til det teoretiske elementet som følger det siste elementet i kartet |
map::operatør[] | Denne operatøren brukes til å referere til elementet som er tilstede på posisjonen gitt inne i operatøren. |
map::clear() | Fjerner alle elementene fra kartet. |
map::at() og map::swap() | at()-funksjonen brukes til å returnere referansen til elementet knyttet til nøkkelen k. swap()-funksjonen brukes til å utveksle innholdet i to kart, men kartene må være av samme type, selv om størrelsene kan variere. |