实现源码:https://www.cnblogs.com/cobbliu/archive/2012/05/21/2512249.html
1.在一个递增的数组(或vector)中查找元素属于[ s , e ) 的下标
int main() { const int n=10; //0 1 2 3 4 5 6 7 8 9 int arr[n]={1,2,3,4,5,5,5,5,9,10}; int s,e; I("%d%d",&s,&e); int s_pos=lower_bound(arr,arr+n,s)-arr; int e_pos=upper_bound(arr,arr+n,e)-arr; O("%d,%d\n",s_pos,e_pos); return 0; }
2.查找递增数组中元素是否存在
使用binary_search
注:
对于结构体,要么重载小于符号:
①bool operator<(const struct b) const
②要么定义有小于符号含义的cmp函数。
原文地址:https://www.cnblogs.com/TQCAI/p/8428292.html
时间: 2024-10-12 20:34:44