function binarySearch(arr, k) {
let left = 0;
let right = arr.length - 1;
while (left <= right) {
let mid = Math.floor((left + right) / 2);
if (arr[mid] === k) {
return true;
}
else if (arr[mid] > k) {
left = mid + 1; // 注意,这里左边界增加,因为数组是降序的
}
else {
right = mid - 1; // 注意,这里右边界减小,因为数组是降序的
}
}
return false;
}
// 测试函数
function testBinarySearch() {
const arr = [85, 63, 52, 34, 25, 17, 6];
const k = 6;
if (binarySearch(arr, k)) {
console.log(`元素 ${k} 存在于数组中。`);
} else {
console.log(`元素 ${k} 不存在于数组中。`);
}
}
testBinarySearch();