logo

Multidimensionale kaart implementeren in C++

Multidimensionaal kaart s worden gebruikt wanneer we een waarde willen toewijzen aan een combinatie van sleutels. De sleutel kan van elk gegevenstype zijn, inclusief gegevens die door de gebruiker zijn gedefinieerd. Multidimensionale kaarten zijn geneste kaarten; dat wil zeggen, ze wijzen een sleutel toe aan een andere kaart, die zelf combinaties van sleutelwaarden met bijbehorende toegewezen waarden opslaat.

Syntaxis:



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

Voorbeeld 1:




callback-hel in javascript





// 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>>>::iterator itr;> > >// For accessing inner map> >map<>int>,>int>>::iterator 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->tweede.begin(); ptr != itr->tweede.end(); ptr++) {> >cout <<>'First key is '> << ' And second key is ' << ' And value is ' } } }>

>

Hoe tekenreeksen in Java samen te voegen
>

Uitgang:

 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>

Voorbeeld 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; kaart ::iterator 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++) { uit<< 'First key is ' << ' And second key is ' << ' And value is ' } } }>

>

Java-einde voor lus
>

Uitgang:

 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>