利用lower_bound返回查找结果第一个迭代器;upper_bound返回最后一个查找结果的下一个位置的迭代器
#include<iostream>
#include<map>using namespace std;int main(){multimap<int, int> mm;mm.insert({ 1, 1 });mm.insert({ 1, 2 });mm.insert({ 1, 3 });mm.insert({ 5, 6 });mm.insert({ 7, 8 });multimap<int, int>::iterator it1 = mm.lower_bound(1);multimap<int, int>::iterator it2 = mm.upper_bound(1);while (it1 != it2){cout << it1->first << ' ' << it1->second<<endl;++it1;}return 0;
}