fork download
  1. #include <iostream>
  2. #include <map>
  3.  
  4. using namespace std;
  5. int main ()
  6. {
  7. multimap<char,float> mymultimap;
  8. map<char,float> mymap;
  9.  
  10. ///заполняем multimap
  11. mymultimap.insert( pair<char,float>('a',0.1) );
  12. mymultimap.insert( pair<char,float>('b',0.2) );
  13. mymultimap.insert( pair<char,float>('d',0.4) );
  14. mymultimap.insert( pair<char,float>('e',0.5) );
  15.  
  16. ///заполняем map
  17. mymap.insert( pair<char,float>('f',5.3) );
  18. mymap.insert( pair<char,float>('g',4.32) );
  19. mymap.insert( pair<char,float>('i',23.41) );
  20. mymap.insert( pair<char,float>('r',6.5) );
  21.  
  22. ///вставляем элементы в multimap
  23. mymultimap.emplace('c',0.3);
  24. mymultimap.emplace('b',9.9);
  25. cout << "mymultimap have:" << endl;
  26. for (auto it = mymultimap.begin(); it != mymultimap.end(); ++it)
  27. {
  28. cout << it->first << " : " << it->second << endl;
  29. }
  30.  
  31. auto lowerMap=mymap.lower_bound('g');/// нижняя граница map
  32. auto upperMap=mymap.upper_bound('i');///верхняя граница map
  33. auto lowerMultimap=mymultimap.lower_bound('b');/// нижняя граница multimap
  34. auto upperMultimap=mymultimap.upper_bound('d');///верхняя граница multimap
  35.  
  36. mymultimap.erase(lowerMultimap,upperMultimap);
  37. mymap.erase(lowerMap,upperMap);
  38. auto itMultimap = mymultimap.begin();
  39. auto itMap = mymap.begin();
  40. cout << "\nmymultimap have: \t mymap have:" << endl;
  41. for (itMultimap,itMap; itMultimap != mymultimap.end(); ++itMultimap,++itMap)
  42. {
  43. cout << itMultimap->first << " : " << itMultimap->second << "\t\t " << itMap->first << " : " << itMap->second << endl;
  44. }
  45. return 0;
  46. }
Success #stdin #stdout 0s 4368KB
stdin
Standard input is empty
stdout
mymultimap have:
a : 0.1
b : 0.2
b : 9.9
c : 0.3
d : 0.4
e : 0.5

mymultimap have: 	 mymap have:
a : 0.1		  f : 5.3
e : 0.5		  r : 6.5