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;
}