/**
* 二分搜索首先要保证数组有序
* @param arr
* @param val
*/
function binarySearch(arr, val) {
let low = 0;
let high = arr.length - 1;
// 需要控制好循环变量
// 在 [low, high] 之间寻找
while (low <= high) {
let mid = Math.floor(low + high);
if (arr[mid] === val) {
return mid;
} else if (arr[mid] > val) {
high = mid - 1 ;
} else {
low = mid + 1;
}
}
}
const arr = [11, 12, 13, 14, 15, 16];
console.log('search value of 15: ', binarySearch(arr, 15));
数据结构与算法--二分查找法
最新推荐文章于 2021-09-10 23:26:17 发布