写在前面
今天遇到的map的问题遇到了对于lower_bound 和upper_bound。在这里做一个总结。
首先是在map当中 自带了成员函数用于查找:
查找
count
返回匹配特定键的元素数量
(公开成员函数)
find
寻找带有特定键的元素
(公开成员函数)
equal_range
返回匹配特定键的元素范围
(公开成员函数)
lower_bound
返回指向首个不小于给定关键的元素的迭代器
(公开成员函数)
upper_bound
返回指向首个大于给定关键的元素的迭代器
(公开成员函数)
同时在STL算法库当中也有同名的差找算法:
二分搜索操作(在已排序范围上)
定义于头文件 <algorithm>
lower_bound
返回指向第一个不小于给定值的元素的迭代器
(函数模板)
upper_bound
返回指向第一个大于给定值的元素的迭代器
(函数模板)
binary_search
判断一个元素是否在区间内
(函数模板)
equal_range
返回匹配特定键值的元素区间
(函数模板)
函数的意思和作用大致相同但是函数的参数和具体的使用方式还是有很大的不同应该注意。
先说说map中的成员函数 参数只有一个key:
iterator lower_bound(