正确的二分查找法
二分查找法是在有序的数组里查找目标值:target
代码:
int binarySearch(int arr[], int n, int target) { //表示在[l...r]区间范围内查找目标值target int l = 0, r = n - 1; //当l==r的时候也成立,这时[l...r]只有一个值 while (l <= r) { //这里这样做是为了防止整形溢出 int mid = (r - l) / 2 + l; if (arr[mid] == target) { return mid; } else if (arr[mid] > target) { r = mid - 1; } else { l = mid + 1; } } return -1; }复制代码