假设我们要在一个 vector<int>
中,查找一个数 value
语法
auto p = std::lower_bound(v.begin(), v.end(), value)
auto p = std::upper_bound(v.begin(), v.end(), value)
返回的值类型是 iterator
即迭代器,理解为指针即可
定义
lower_bound
获取第一个大于等于value
的指针
is not less than
upper_bound
获取第一个大于 value
的指针
is greater than value
用法详解
由上可以引申出多种用法:
-
要查找的每个数都存在时,如果这个数只存在一次
lower_bound
和upper_bound - 1
结果一样,同样指向该数&