lower_bound函数
时间: 2023-08-20 09:53:56 浏览: 106
lower_bound函数是C++标准库<algorithm>中的一个函数,用于在已排序的容器中查找第一个大于或等于给定值的元素的位置。它的函数原型如下:
```cpp
template <class ForwardIterator, class T>
ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last, const T& val);
```
其中,`ForwardIterator`代表容器的迭代器类型,`first`和`last`表示要搜索的范围,`val`为要查找的值。lower_bound返回一个迭代器,指向第一个大于或等于val的元素位置。
lower_bound函数使用二分查找算法实现,所以要求容器中的元素必须是有序的。如果找到匹配的元素,lower_bound返回该元素的迭代器;如果找不到匹配的元素,lower_bound返回大于val的第一个元素的迭代器。
下面是一个使用lower_bound函数的示例:
```cpp
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5, 6};
auto it = std::lower_bound(vec.begin(), vec.end(), 4);
if (it != vec.end()) {
std::cout << "The first element greater than or equal to 4 is: " << *it << std::endl;
}
return 0;
}
```
输出结果为:
```
The first element greater than or equal to 4 is: 4
```
阅读全文