lower_bound/upper_bound使用样例c++,简单版
时间: 2024-03-23 11:34:48 浏览: 109
lower_bound和upper_bound是C++标准库中的两个函数,用于在有序容器(如数组、向量、合等)中查找特定值的位置。
lower_bound函数返回一个迭代器,指向第一个大于或等于给定值的元素位置;如果容器中不存在大于或等于给定值的元素,则返回指向容器末尾的迭代器。
upper_bound函数返回一个迭代器,指向第一个大于给定值的元素位置;如果容器中不存在大于给定值的元素,则返回指向容器末尾的迭代器。
下面是一个简单的示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> nums = {1, 2, 3, 4, 4, 5, 6};
// 使用lower_bound查找第一个大于等于3的元素位置
auto lower = std::lower_bound(nums.begin(), nums.end(), 3);
if (lower != nums.end()) {
std::cout << "lower_bound: " << *lower << std::endl;
}
// 使用upper_bound查找第一个大于4的元素位置
auto upper = std::upper_bound(nums.begin(), nums.end(), 4);
if (upper != nums.end()) {
std::cout << "upper_bound: " << *upper << std::endl; }
return 0;
}
```
输出结果为:
```
lower_bound: 3
upper_bound: 5
```
阅读全文