lower_bound查找小于等于
时间: 2023-08-20 11:09:30 浏览: 217
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 ]
阅读全文