lower_bound /upper_bound 函数的用法
作者:
Agone
,
2022-01-29 17:25:56
,
所有人可见
,
阅读 192
lower_bound /upper_bound 函数的用法
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
//lower_bound /upper_bound 二分一个数组或者vector, 返回值是一个迭代器, 在数组里面就是指针
//首先要保证有序
int a[]={1,2,3,5,6};
int *p=lower_bound(a,a+5,3);//找到区间第一个大于等于x 的位置的值
int *p1=upper_bound(a,a+5,3);//找到区间大于x 的位置的值
cout<<*p<<" "<<*p1<<endl;
//找大于等于x的位置
int r=lower_bound(a,a+5,3)-a;
cout<<r<<endl;
//vector
vector<int> b({1,2,3,4,5});
int t=lower_bound(b.begin(),b.end(),3)-b.begin();
cout<<b[t]<<endl;
}