二分模板

bool erfen(int m)
{
    int left=0,right=n-1;//此处right可以是数组得长度n,也可以是n-1
    while(left<right)//此处可以写为left+1<=right
    {
        int mid=(left+right)/2;//此处为left+(right-left)/2得变形
        if(k[mid]==m) return true;
        else if(k[mid]>m) left=mid+1;//此处必须写left=middle+1
        else right=mid-1;//此处可以改为right=middle
    }
    return false;
}

posted @ 2020-08-10 23:31  Joelin12  阅读(146)  评论(0)    收藏  举报