首页 > 其他 > 详细

STL二分查找

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

实现源码: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二分查找

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!