请给我一段lower_bound的样例代码以及详细解说
时间: 2023-08-20 09:23:56 浏览: 88
好的,下面是一个使用lower_bound函数的样例代码:
```c++
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
vector<int> v{1, 2, 3, 4, 5, 6, 7, 8, 9};
int x = 5;
auto it = lower_bound(v.begin(), v.end(), x);
if (it != v.end()) {
cout << "The first element greater than or equal to " << x << " is at position: " << it - v.begin() << endl;
} else {
cout << "No element greater than or equal to " << x << " found!" << endl;
}
return 0;
}
```
这段代码创建了一个vector v,里面存储了1到9的整数,然后定义了一个整数x,用于查找第一个大于或等于x的元素的位置。接着使用lower_bound函数在v中查找第一个大于或等于x的元素,并将结果赋值给一个迭代器it。最后,根据迭代器it是否等于v.end(),输出对应的结果。
lower_bound函数的第一个参数是查找范围的起始位置,第二个参数是查找范围的结束位置,第三个参数是要查找的值。lower_bound函数的返回值是一个迭代器,指向第一个大于或等于给定值的元素。如果没有找到大于或等于给定值的元素,则返回结束位置的迭代器。
阅读全文