二分查找
2026-07-16 10:51:44
发布于:浙江
int binarySearch(int arr[], int n, int target) {
int left = 0; // 左边界从 0 开始
int right = n - 1; // 右边界是最后一个元素
// 只要左边没有越过右边,就继续找
while (left <= right) {
int mid = left + (right - left) / 2; // 算出中间的位置(这样写防止数字太大溢出)
if (arr[mid] == target) {
return mid; // 找到啦!返回它的位置
}
else if (arr[mid] < target) {
left = mid + 1; // 中间人太小了,目标在右半边,把左边界往右挪
}
else {
right = mid - 1; // 中间人太大了,目标在左半边,把右边界往左挪
}
}
return -1; // 找遍了都没有,返回 -1 表示没找到
}
这里空空如也

















有帮助,赞一个