Mega Code Archive

 
Categories / C++ Tutorial / Map Multimap
 

Make a dictionary out of a multimap

#include <algorithm> #include <iostream> #include <map> #include <utility> using namespace std; int main( ) {    const char* word[] = { "A", "B", "C", "D","E" };    const char* clue[] = { "a", "b","c", "d","e" };    map<string,string> dictionary1;    transform( word, word+sizeof(word)/sizeof(word[0]), clue,inserter( dictionary1, dictionary1.end() ),make_pair<string,string> );    typedef multimap<string,string> Dictionary;    Dictionary dictionary2( dictionary1.begin(),dictionary1.end() );    dictionary2.insert( make_pair( "POPS", "Bursts" ) );    dictionary2.insert( make_pair( "POPS", "Fathers" ) );    dictionary2.insert( make_pair( "ADAM", "Madam" ) );    pair<Dictionary::iterator,Dictionary::iterator> range = dictionary2.equal_range( "POPS" );    for( Dictionary::iterator i = range.first; i != range.second; ++i )       cout << "\nPOPS - " << i->second;    for( Dictionary::iterator i = dictionary2.begin();       i != dictionary2.end(); ++i )       cout << i->first << " - " << i->second << endl; }