JavaScript中的二进制搜索程序

创建一个函数,说它binarySearch()接受4个参数-

  • 排序的数字/字符串文字数组

  • 数组的起始索引

  • 数组的结束索引(长度-1)

  • 要搜索的号码

如果数组中存在数字,则应返回数字的索引,否则应返回-1。这是完整的代码-

示例

const arr = [2,4,6,6,8,8,9,10,13,15,17,21,24,26,28,36,58,78,90];

//二进制搜索功能

//如果找到则返回元素索引-1-

const binarySearch = (arr, start, end, num) => {

   const mid = start + Math.floor((end - start)/2);

   if(start <= end){

      if(arr[mid] === num){

         return mid;

      }

      if(num < arr[mid]){

         return binarySearch(arr, start, mid-1, num);

      }

      if(num > arr[mid]){

         return binarySearch(arr, mid+1, end, num);

      }

   }

   return -1;

};

console.log(binarySearch(arr, 0, arr.length-1, 13));

console.log(binarySearch(arr, 0, arr.length-1, 11));

输出结果

该代码在控制台中的输出将为-

8

-1

以上是 JavaScript中的二进制搜索程序 的全部内容, 来源链接: utcz.com/z/316200.html

回到顶部