lower_bound的使用方法
时间: 2023-10-29 13:22:32 浏览: 133
lower_bound()是STL标准库提供的一个查找函数,它的底层实现采用的是二分查找的方式。它用于在已排序的容器中找到第一个大于或等于给定值的元素的位置。使用lower_bound()函数的方法如下:
1. 在使用lower_bound()函数之前,首先要将容器中的元素进行排序,确保容器是按非降序排列的。
2. 调用lower_bound()函数时,需要传入三个参数:容器的起始迭代器、容器的末尾迭代器和要查找的值。
3. lower_bound()函数会返回一个迭代器,指向容器中第一个大于或等于给定值的元素的位置。
下面是lower_bound()函数的示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> nums = {1, 2, 3, 4, 5, 6};
int target = 4;
// 对容器进行排序
std::sort(nums.begin(), nums.end());
// 使用lower_bound()函数查找元素位置
auto it = std::lower_bound(nums.begin(), nums.end(), target);
// 输出结果
if (it != nums.end()) {
std::cout << "找到第一个大于或等于目标值的元素位置: " << std::distance(nums.begin(), it) << std::endl;
} else {
std::cout << "未找到目标值" << std::endl;
}
return 0;
}
```
在上面的示例中,lower_bound()函数会返回一个迭代器,指向容器中第一个大于或等于目标值4的元素的位置。输出结果为3,表示目标值4在容器中的索引位置为3。
阅读全文