lower_bound大于等于
时间: 2023-10-30 07:25:36 浏览: 35
lower_bound 的功能是在已排序的容器中找到第一个不小于指定值的元素,并返回其迭代器。当指定值在容器中存在时,lower_bound 返回的迭代器指向第一个等于或大于该值的元素;当指定值在容器中不存在时,lower_bound 返回的迭代器指向第一个大于该值的元素。
简而言之,lower_bound 的返回值大于等于指定值。
相关问题
lower_bound查找小于等于
lower_bound函数可以用来查找数组中第一个小于等于给定数的元素的地址。在使用lower_bound函数时,需要保证数组是从小到大排列的有序数组。下面是一个示例代码:
```cpp
#include<iostream>
#include<algorithm>
using namespace std;
bool cmp(const int &a,const int &b) {
return a > b;
}
int main() {
int a\[\] = {1, 5, 9, 11, 45, 69, 101};
cout << "数组为 ";
for(int i = 0; i < 7; i++) {
cout << a\[i\] << " ";
}
cout << endl;
int p1 = lower_bound(a, a + 7, 9) - a;
cout << "数组中第一个大于等于9的数的下标为 " << p1 << endl;
sort(a, a + 7, cmp);
cout << "数组为 ";
for(int i = 0; i < 7; i++) {
cout << a\[i\] << " ";
}
cout << endl;
int p3 = lower_bound(a, a + 7, 9, cmp) - a;
cout << "数组中第一个小于等于9的数的下标为 " << p3 << endl;
}
```
在这个示例中,我们首先输出了原始数组,然后使用lower_bound函数查找第一个大于等于9的数的下标,结果为2。接着,我们对数组进行降序排序,并输出排序后的数组。然后,我们使用lower_bound函数查找第一个小于等于9的数的下标,结果为4。
#### 引用[.reference_title]
- *1* *2* *3* [lower_bound( )和upper_bound( )的用法](https://blog.csdn.net/m0_54621932/article/details/113780956)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
__lower_bound函数和lower_bound函数有什么区别
__lower_bound函数和lower_bound函数都是用于在有序容器中查找某个元素的位置的函数,但它们有一些区别。
__lower_bound函数是C++标准库中的一个内部函数,它在二分查找的基础上返回第一个大于或等于给定值的元素的位置。如果容器中存在该值,则返回该值的位置;如果容器中不存在该值,则返回大于该值的第一个元素的位置。该函数通常用于实现lower_bound函数。
lower_bound函数是C++标准库中的一个算法函数,它也是在有序容器中查找某个元素的位置。lower_bound函数返回第一个大于或等于给定值的元素的位置。如果容器中存在该值,则返回该值的位置;如果容器中不存在该值,则返回大于该值的第一个元素的位置。lower_bound函数可以用于各种有序容器,如vector、set、map等。
总结一下,__lower_bound函数是C++标准库中的一个内部函数,而lower_bound函数是一个通用的算法函数。它们的功能相似,都是在有序容器中查找某个元素的位置,但使用方式略有不同。