Implementació del mapa multidimensional en C++

Multidimensional mapa s s'utilitzen quan volem assignar un valor a una combinació de tecles. La clau pot ser de qualsevol tipus de dades, incloses les definides per l'usuari. Els mapes multidimensionals són mapes imbricats; és a dir, mapeen una clau amb un altre mapa, que ell mateix emmagatzema combinacions de valors de clau amb els valors assignats corresponents.

Sintaxi:

 // Creating a two-dimensional map: map object; // Creating an N-dimensional map: map>objecte;>>>   

Exemple 1:




// C++14 code to implement two-dimensional map> > #include> using> namespace> std;> > int> main()> {> > > // Two-dimensional key> > map <> int> , map <> int> ,> int> >> m;>>> > // For accessing inner map> > map <> int> ,> int> >::iterador ptr;>>> < < i> > < <> ' And second key is '> < < j> > < <> ' And value is '> < < m[i][j] < < endl;> > }> > }> > > cout < <> ' Now accessing map though iterator '> ;> > > for> (itr = m.begin(); itr != m.end(); itr++) {> > > for> (ptr = itr->segon.inici(); ptr != itr->second.end(); ptr++) {>> > cout < <> 'First key is '> < < ' And second key is ' < < ' And value is ' } } }>

Sortida:

 First key is 0 And second key is 0 And value is 0 First key is 0 And second key is 1 And value is 1 First key is 1 And second key is 0 And value is 1 First key is 1 And second key is 1 And value is 2 Now accessing map though iterator First key is 0 And second key is 0 And value is 0 First key is 0 And second key is 1 And value is 1 First key is 1 And second key is 0 And value is 1 First key is 1 And second key is 1 And value is 2 

Exemple 2:




// C++14 code to implement two-dimensional map> // and inserting value through insert()> > #include> using> namespace> std;> > int> main()> {> > > // First key type is a string> > mapint, int>> m; mapint, int>>::iterator itr; mapa ::iterador ptr; m.insert(make_pair('Noob', map ())); m['Noob'].insert(make_pair(0, 5)); m.insert(make_pair('Geek', map ())); m['Geek'].insert(make_pair(1, 10)); m.insert(make_pair('Geek', map ())); m['Geek'].insert(make_pair(2, 20)); for (itr = m.begin(); itr != m.end(); itr++) { for (ptr = itr->second.begin(); ptr != itr->second.end(); ptr++) { cout < < 'First key is ' < < ' And second key is ' < < ' And value is ' } } }>

Sortida:

 First key is Geek And second key is 1 And value is 10 First key is Geek And second key is 2 And value is 20 First key is Noob And second key is 0 And value is 5