lower_bound的讲解
时间: 2024-04-10 09:25:23 浏览: 130
less_的介绍
lower_bound是C++标准库中的一个函数,用于在有序容器(如数组、向量、集合等)中查找第一个大于或等于给定值的元素的位置。它返回一个迭代器,指向容器中满足条件的元素位置,如果没有找到满足条件的元素,则返回指向容器末尾的迭代器。
lower_bound函数的使用方法如下:
```cpp
template <class ForwardIterator, class T>
ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last, const T& val);
```
其中,`first`和`last`是表示容器范围的迭代器,`val`是要查找的值。
lower_bound函数的工作原理是使用二分查找算法,在每次迭代中将范围缩小一半,直到找到满足条件的元素或者范围为空。
下面是一个示例代码,演示了lower_bound函数的用法:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> nums = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int target = 6;
auto it = std::lower_bound(nums.begin(), nums.end(), target);
if (it != nums.end()) {
std::cout << "找到了大于或等于" << target << "的元素:" << *it << std::endl;
} else {
std::cout << "没有找到大于或等于" << target << "的元素" << std::endl;
}
return 0;
}
```
输出结果为:
```
找到了大于或等于6的元素:6
```
阅读全文