Loop through element in map in reverse order - C++ STL

C++ examples for STL:map

Description

Loop through element in map in reverse order

Demo Code

#include <iostream>
#include <string>
#include <map>
using namespace std;
void show(const char *msg, map<string, int> mp);
int main() {/*from   ww  w  .j a  v a 2 s .co  m*/
   // Declare an empty map that holds key/value pairs
   // in which the key is a string and the value is an int.
   map<string, int> m;
   // Insert characters into m. An iterator to the inserted
   // object is returned.
   m.insert(pair<string, int>("Alpha", 100));
   m.insert(pair<string, int>("Gamma", 300));
   m.insert(pair<string, int>("Beta", 200));
   // Declare an iterator to a map<string, itr>.
   map<string, int>::iterator itr;
   // Declare a reverse iterator to a map<string, itr>.
   map<string, int>::reverse_iterator ritr;
   // Now, show the contents of m in reverse order.
   cout << "The contents of m in reverse:\n";
   for(ritr=m.rbegin(); ritr != m.rend(); ++ritr)
      cout << "  " << ritr->first << ", " << ritr->second << endl;
   cout << endl;
   return 0;
}
// Display the contents of a map<string, int> by using
// an iterator.
void show(const char *msg, map<string, int> mp) {
   map<string, int>::iterator itr;
   cout << msg << endl;
   for(itr=mp.begin(); itr != mp.end(); ++itr)
      cout << "  " << itr->first << ", " << itr->second << endl;
   cout << endl;
}

Result


Related Tutorials