Implémentation d'une carte multidimensionnelle en C++
Multidimensionnel carte s sont utilisés lorsque nous voulons mapper une valeur à une combinaison de touches. La clé peut être de n'importe quel type de données, y compris ceux définis par l'utilisateur. Les cartes multidimensionnelles sont des cartes imbriquées ; c'est-à-dire qu'ils mappent une clé sur une autre carte, qui elle-même stocke des combinaisons de valeurs de clé avec les valeurs mappées correspondantes.
Syntaxe:
// Creating a two-dimensional map: map object; // Creating an N-dimensional map: map>objet;
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 outer map> > map <> int> , map <> int> ,> int> >>::itérateur itr;> > > // For accessing inner map> > map <> int> ,> int> >::itérateur ptr;> > > for> (> int> i = 0; i <2; i++) {> > for> (> int> j = 0; j <2; j++) {> > m[i][j] = i + j;> > }> > }> > > for> (> int> i = 0; i <2; i++) {> > for> (> int> j = 0; j <2; j++) {> > > // Accessing through array subscript> > cout < <> 'First key is '> < < 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->seconde.begin(); ptr != itr->second.end(); ptr++) {> > cout < <> 'First key is '> < < ' And second key is ' < < ' And value is ' } } }> |
Sortir:
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; carte |
Sortir:
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