js实现二分法
let arr = [1,2,3,4,5,6,7,8];
function binarySearch(arr,item) {
let min = 0;
let max = arr.length - 1;
while (min <= max) {
let mid = Math.ceil((min + max) / 2);
let findVal = arr[mid];
if (findVal == item) {
return findVal;
}
if (findVal > item) {
max = mid - 1;
}
if (findVal < item) {
min = mid + 1;
}
}
return '没有找到';
}
//测试 3
console.log("2" + binarySearch(arr,2));
//测试 找不到
console.log("456" + binarySearch(arr,456))