fork download
  1. #include <iostream>
  2. #include <map>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. multimap <char,int> myMultimap;
  8. map <char,int> myMap;
  9. char c;
  10. for (int i = 0,c = 'a'; i < 5; ++i,++c)
  11. {
  12. myMap[c] = i;///заполняем map
  13. }
  14.  
  15. ///заполняем multimap
  16. myMultimap.insert ( pair<char,int>('c',146) );
  17. myMultimap.insert ( pair<char,int>('a',23) );
  18. myMultimap.insert ( pair<char,int>('b',996) );
  19. myMultimap.insert ( pair<char,int>('a',56) );
  20. myMultimap.insert ( pair<char,int>('c',121) );
  21. auto itMap = myMap.begin();///создаем итератор на начало myМap
  22. auto itMultimap = myMultimap.begin();///создаем итератор на начало myMultimap
  23. cout<<"myMap contains: \t myMultimap contains:\n";
  24.  
  25. ///вывод на экран myMap и myMultimap
  26. for(itMap = myMap.begin(),itMultimap = myMultimap.begin(); itMultimap != myMultimap.end(); itMap++,itMultimap++)
  27. {
  28. cout << itMap->first << " : " << itMap->second << "\t\t\t\t" << itMultimap->first << " : " << itMultimap->second << endl;
  29. }
  30.  
  31. for(c = 'a'; c <= 'f'; c++)
  32. {
  33. myMap.count(c) ? cout << "\nNumber of elements '" << c << "' in myMap = " << myMap.count(c) : cout << "\nElement '" << c << "' is not in myMap ";
  34. myMultimap.count(c) ? cout << "\nNumber of elements '" << c << "' in myMultimap " << myMultimap.count(c) : cout << "\nElement '" << c << "' is not in myMultimap";
  35. }
  36.  
  37. itMap = myMap.find('b');///итератор на заданный элемент в map
  38. itMultimap = myMultimap.find('a');///итератор на заданный элемент в multimap
  39. myMap.erase(itMap);///стираем его в map
  40. myMultimap.erase(itMultimap);///стираем его в multimap
  41. itMap = myMap.find('d');
  42. itMultimap = myMultimap.find('d');
  43. myMap.erase(itMap,myMap.end());///стираем c элемента 'd' и до конца map
  44. myMultimap.erase(itMultimap,myMultimap.end());///стираем c элемента 'd' и до конца multimap
  45.  
  46. cout << "\n\nmyMap contains: \t myMultimap contains:\n";
  47. for(itMap = myMap.begin(),itMultimap = myMultimap.begin(); itMap != myMap.end(); itMap++,itMultimap++)
  48. {
  49. cout << itMap->first << " : " << itMap->second << "\t\t\t\t" << itMultimap->first << " : " << itMultimap->second << endl;///вывод на экран
  50. }
  51.  
  52. myMap.clear();
  53. myMap.empty() ? cout << "\nmyMap is empty\n" : cout << "myMap isn't empty\n";
  54. myMultimap.empty() ? cout << "\nmyMultimap is empty\n" : cout << "myMultimap isn't empty\n";
  55.  
  56. return 0;
  57. }
Success #stdin #stdout 0s 4304KB
stdin
Standard input is empty
stdout
myMap contains: 	 myMultimap contains:
a : 0				a : 23
b : 1				a : 56
c : 2				b : 996
d : 3				c : 146
e : 4				c : 121

Number of elements 'a' in myMap = 1
Number of elements 'a' in myMultimap 2
Number of elements 'b' in myMap = 1
Number of elements 'b' in myMultimap 1
Number of elements 'c' in myMap = 1
Number of elements 'c' in myMultimap 2
Number of elements 'd' in myMap = 1
Element 'd' is not in myMultimap
Number of elements 'e' in myMap = 1
Element 'e' is not in myMultimap
Element 'f' is not in myMap 
Element 'f' is not in myMultimap

myMap contains: 	 myMultimap contains:
a : 0				a : 56
c : 2				b : 996

myMap is empty
myMultimap isn't empty