码迷,mamicode.com
首页 > 其他好文 > 详细

STL二分查找

时间:2018-02-07 21:30:12      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:get   png   lan   cto   使用   数组   pre   实现   types   

实现源码: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函数。

 

STL二分查找

标签:get   png   lan   cto   使用   数组   pre   实现   types   

原文地址:https://www.cnblogs.com/TQCAI/p/8428292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!