C++中lower_bound
时间: 2024-04-01 07:29:56 浏览: 96
在C++中,`lower_bound`是一个用于在有序容器(如数组、向量、集合、映射等)中查找某个值的函数。它返回一个迭代器,指向第一个大于或等于给定值的元素位置。
`lower_bound`函数的使用方式如下:
```cpp
#include <algorithm>
#include <vector>
int main() {
std::vector<int> nums = {1, 2, 3, 4, 5, 6};
int target = 3;
auto it = std::lower_bound(nums.begin(), nums.end(), target);
if (it != nums.end()) {
// 找到了目标值或者第一个大于目标值的元素
int index = std::distance(nums.begin(), it);
std::cout << "找到了目标值 " << target << ",位置为 " << index << std::endl;
} else {
// 没有找到目标值
std::cout << "没有找到目标值 " << target << std::endl;
}
return 0;
}
```
在上述示例中,我们定义了一个有序的整数向量`nums`,并指定了目标值`target`为3。然后,我们使用`lower_bound`函数在`nums`中查找目标值。如果找到了目标值或者第一个大于目标值的元素,就输出其位置;否则,输出未找到的提示。
阅读全文