传入 数组A, 以及要查找的范围[lo, hi)
int binSearch(int A[], int goal, int lo, int hi){ while (lo < hi){ int mi = (lo + hi) >> 1; (goal < A[mi]) ? hi = mi : lo = mi + 1; } return --lo; }
返回的是在[lo, hi) 范围内,不大于goal的元素的最大index
原文:http://www.cnblogs.com/miaoz/p/4361640.html