lower_bound(begin,end,p)
用途:可用于在排好序中的数组中,时间复杂度为 logn,比用一个for循环节省了不少时间,找到第一个大于等于p的数,并返回地址,若未找到则返回end
用法:begin为数组起始地址,end结束地址,p为查找元素
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[5];
for(int i=0;i<5;i++) a[i]=i;
int x=lower_bound(a,a+5,4)-a;//x为数组下标
printf("%d",a[x]);//输出值为4
return 0;
}
upper_bound(begin,end,p)
与上面唯一区别:返回第一个遇到的大于元素的地址,未找到返回end