二分模版

详情请见http://blog.csdn.net/int64ago/article/details/7425727

//二分查找(找到返回左端,找不到返回右端)
int bSearch(int x,int y,int g)
{
    int mid,l=x,r=y;
    while(l<=r)
    {
        mid=(l+r)>>1;
        if(a[mid]>=g) r=mid-1;
        else l=mid+1;
    }
    return l;
}
//二分查找(找到返回右端,找不到返回左端)
int bSearch(int x,int y,int g)
{
    int mid,l=x,r=y;
    while(l<=r)
    {
        mid=(l+r)>>1;
        if(a[mid]>g) r=mid-1;
        else l=mid+1;
    }
    return r;
}
原文地址:https://www.cnblogs.com/d-e-v-i-l/p/4733668.html