标签:style blog color ar div log size ad
标准的二分查找:binary_search
int bsearch(int a[],int l,int r,int x) { int m; while(l<=r){ m = (l+r)/2; // m = l+(r-l)>>2; if(a[m]==x) return m; else if(a[m]>x) r = m-1; else l = m+1; } return -1; //查找不成功 }
二分查找求下界(第1次出现的位置) lower_bound
int bsearchLower(int a[],int l,int r,int x) { int m; while(l<r){ m = (l+r)/2; if(x<=a[m]) r = m; else l = m+1; } if(a[l]==x) return l; else return -1; //查找不成功 }
二分查找求上界(最后一次出现的位置)upper_bound
int bsearchUpper(int a[],int l,int r,int x) { int m; while(l<r){ m = (l+r+1)/2; //加了“1” if(x<a[m]) r = m-1; else l = m; } if(a[r]==x) return r; else return -1;//查找不成功 }
标签:style blog color ar div log size ad
原文地址:http://www.cnblogs.com/scofield0li/p/3912932.html