C ++

Kako itirirati po zemljevidu v jeziku C ++

Kako itirirati po zemljevidu v jeziku C ++
V tej hitri vadnici bomo videli, kako v C-ju ponoviti zemljevid++.

Obstaja več načinov za iteracijo po zemljevidu v C++. Z novejšimi različicami C ++ obstajajo naprednejši načini za iteracijo po zemljevidu v jeziku C++.

Pojdimo skozi vsakega posebej.

Uporaba zanke for s stp :: map

Ustvarili smo zemljevid z imenom countryCapitalMap in vanjo vstavil pare ključ / vrednost.


#include
#include
#include
#include
#include
uporaba imenskega prostora std;
int main ()
// Inicializacija zemljevida
zemljevid> "Indija", "Delhi"));
countryCapitalMap.vstavi (par("Nepal", "Katmandu"));
countryCapitalMap.vstavi (par("Kitajska", "Peking"));
countryCapitalMap.vstavi (par("Francija", "Pariz"));
// Iteracija z uporabo iteratorja v zanki for
za (samodejno itr = countryCapitalMap.začeti(); itr != countryCapitalMap.konec (); itr ++)

std :: cout << itr->prva // tipka za dostop
<< ':'
<< itr->second // Vrednost dostopa
<< std::endl;

vrnitev 0;


Izhod:

Kitajska: Peking
Francija: Pariz
Indija: Delhi
Nepal: Katmandu

Kot lahko vidite, smo z zanko natisnili country: capital (key: value).

Če opazite, smo uporabili samodejno specifikator tipa za iterator zemljevida zaradi berljivosti. Lahko uporabiš zemljevid:: iterator tudi izrecno.
Opomba: Če vidite izhod, je razvrščen po tipkah v naraščajočem vrstnem redu. To je zato, ker je std :: map razvrščen asociativni vsebnik s priloženim primerjalnikom (različica C ++ 11 naprej). Ker nismo zagotovili nobenega primerjalnika, je C ++ za niz uporabil privzeti primerjalnik.

Uporaba zanke while s stp :: map

Namesto zanke lahko uporabimo tudi zanko while.


#include
#include
#include
#include >
uporaba imenskega prostora std;
int main ()
// Inicializacija zemljevida
zemljevid countryCapitalMap;
// V zemljevid vstavimo različne elemente
countryCapitalMap.vstavi (par("Indija", "Delhi"));
countryCapitalMap.vstavi (par("Nepal", "Katmandu"));
countryCapitalMap.vstavi (par("Kitajska", "Peking"));
countryCapitalMap.vstavi (par("Francija", "Pariz"));
// Ustvarimo iterator za zemljevid in ga inicializiramo z begin
samodejno itr = countryCapitalMap.začeti();
// Iteracija z uporabo iteratorja v zanki while
medtem ko (itr!= countryCapitalMap.konec ())

std :: cout << itr->prva // tipka za dostop
<< ':'
<< itr->second // Vrednost dostopa
<< std::endl;
itr ++;

vrnitev 0;


Izhod:

Kitajska: Peking
Francija: Pariz
Indija: Delhi
Nepal: Katmandu

Uporaba obsega na osnovi zanke (različica C ++ 11 naprej)

Če uporabljate različico C ++ 11, potem je to najelegantnejši način iteracije po zemljevidu v jeziku C++. Lahko se izognete tradicionalnim kockasti zankam in namesto tega uporabite to.


#include
#include
#include
uporaba imenskega prostora std;
int main ()
// Inicializacija zemljevida
zemljevid countryCapitalMap;
// V zemljevid vstavimo različne elemente
countryCapitalMap.vstavi (par("Indija", "Delhi"));
countryCapitalMap.vstavi (par("Nepal", "Katmandu"));
countryCapitalMap.vstavi (par("Kitajska", "Peking"));
countryCapitalMap.vstavi (par("Francija", "Pariz"));
// Iteracija z uporabo iteratorja v zanki for
za (const auto & ele: countryCapitalMap)
cout <
vrnitev 0;


Izhod:
Kitajska: Peking
Francija: Pariz
Indija: Delhi
Nepal: Katmandu

Uporaba zanke na osnovi obsega za pare ključ-vrednost (različica C ++ 17 naprej)

Ta različica je podprta od c ++ 17 naprej in omogoča prožnejši način ponovitve po zemljevidu. Na zemljevidu lahko izrecno dostopate do para ključ / vrednost, ki ponuja še bolj berljivo rešitev.


#include
#include
#include
uporaba imenskega prostora std;
int main ()
// Inicializacija zemljevida
zemljevid countryCapitalMap;
// V zemljevid vstavimo različne elemente
countryCapitalMap.vstavi (par("Indija", "Delhi"));
countryCapitalMap.vstavi (par("Nepal", "Katmandu"));
countryCapitalMap.vstavi (par("Kitajska", "Peking"));
countryCapitalMap.vstavi (par("Francija", "Pariz"));
// Iteracija z uporabo iteratorja v zanki for
za (const auto & [ključ, vrednost]: countryCapitalMap)
cout << key << ":" << value << "\n";

vrnitev 0;


Izhod:
Kitajska: Peking
Francija: Pariz
Indija: Delhi
Nepal: Katmandu

To je vse o tem, kako iti po zemljevidu v jeziku C++. Veselo kodiranje!

Najboljše aplikacije za preslikavo gamepadov za Linux
Če želite igre na Linuxu igrati z igralno ploščico namesto s tipičnim sistemom za vnos tipkovnice in miške, je za vas na voljo nekaj uporabnih aplikac...
Uporabna orodja za igralce Linux
Če radi igrate igre na Linuxu, obstaja verjetnost, da ste za izboljšanje igralne izkušnje uporabljali aplikacije in pripomočke, kot so Wine, Lutris in...
HD Remastered Games za Linux, ki prej še niso izdale Linuxa
Mnogi razvijalci iger in založniki pripravijo HD remaster starih iger, da podaljšajo življenjsko dobo franšize, zato oboževalci zahtevajo združljivost...