二分查找的 JavaScript 算法
最编程
2024-07-07 09:17:30
...
function binarySearch(arr, target) {
let left = 0; // 左边界
let right = arr.length - 1; // 右边界
while (left <= right) { // 当左边界小于或等于右边界时
const mid = Math.floor((left + right) / 2); // 计算中间位置
if (arr[mid] === target) { // 中间位置的元素正好是目标元素
return mid; // 返回该位置
}
if (arr[mid] < target) { // 如果中间位置的元素小于目标元素
left = mid + 1; // 将左边界设置为中间位置的右侧
} else {
right = mid - 1; // 将右边界设置为中间位置的左侧
}
}
return -1; // 如果没有找到目标元素,返回 -1
}
console.log(binarySearch([1, 2, 3, 4, 5, 6, 7, 8, 9], 5)); // 输出 4(表示数字 5 在数组中的位置)
上一篇: 带示例的二分查找算法实现(图解