C++ multimap 查找指定的元素

multimap能够存储多个key相同的元素

那怎么遍历出key相同的元素

#include <iostream>
#include <map>
using namespace std;

int main()
{
   // initialize container 
  multimap<int, int> mp; 

  // insert elements in random order 
  mp.insert({ 2, 30 }); 
  mp.insert({ 1, 40 }); 
  mp.insert({ 2, 60 }); 
  mp.insert({ 3, 20 }); 
  mp.insert({ 1, 50 }); 
  mp.insert({ 4, 50 }); 

  // find() function finds the position at which 2 is 
  cout << "map会按照key自动排序,所以find得到的迭代器++会打印出往后所有的元素\n"; 
  for (auto itr = mp.find(2); itr != mp.end(); itr++){
    cout << itr->first << '\t' << itr->second << '\n'; 
  }
  
  cout << "只打印想要找的元素\n"; 
  for (auto itr = mp.find(2); itr != mp.end(); itr++){
    if(itr->first != 2){
      break;
    }
    else{
      cout << itr->first << '\t' << itr->second << '\n'; 
    }
  }
  
  

   return 0;
}

猜你喜欢

转载自blog.csdn.net/u013288190/article/details/127469115
今日推荐