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

二分搜索以及查找区间的上下界

时间:2017-09-20 23:22:40      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:上界   搜索   return   div   pre   col   arch   class   logs   

二分查找:

int bisearch(int *a,int x,int y,int v){
    int m;
    while(x<y){
        m=x+(y-x)/2;
        if(a[m]==v) return m;
        else if(a[m]>v) y=m;
        else x=m+1;
    }
    return -1;
}

二分查找求下界:

int lower_bound(int *a,int x,int y,int v){
    int m;
    while(x<y){
        m=x+(y-x)/2;
        if(a[m]>=v) return m;
        else x=m+1;
    }
    return -1;
}

二分查找求上界:

int upper_bound(int *a,int x,int y,int v){
    int m;
    while(x<y){
        m=x+(y-x)/2;
        if(a[m]<=v) return m;
        else x=m+1;
    }
    return -1;
}

 

二分搜索以及查找区间的上下界

标签:上界   搜索   return   div   pre   col   arch   class   logs   

原文地址:http://www.cnblogs.com/sapphirebitter/p/7565341.html

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