map/multimap的查找
(1)map.find(key); 查找键key是否存在,若存在,返回该键的元素的迭代器;若不存在,返回map.end();
(2)map.count(key); //返回容器中键值为key的对组个数。对map来说,要么是0,要么是1;对multimap来说,值>=0。
(3)map.lower_bound(keyElem); //返回第一个key>=keyElem元素的迭代器。
(4)map.upper_bound(keyElem); // 返回第一个key>keyElem元素的迭代器。
(5)map.equal_range(keyElem); //返回容器中key与keyElem相等的上下限的两个迭代器。上限是闭区间,下限是开区间,如 [beg,end) 。
例子:
#include <iostream>
#include <functional>
#include <algorithm>
#include <map>
#include <string>
using namespace std;
int main()
{
//map
map<int, string> mapStu;
mapStu.insert(pair<int, string>(2, "李四"));
mapStu.insert(pair<int, string>(1, "张三"));
mapStu.