1. 程式人生 > >資料結構與演算法--二分查詢法

資料結構與演算法--二分查詢法

/**
 * 二分搜尋首先要保證陣列有序
 * @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));