二分算法

78 阅读1分钟

找数组中的一个元素,在数组中的索引号,如果有返回索引号,如果没有返回-1


function bSearch(arr,x){
        let l=0,
        r=arr.length-1,
        guess
        while(l<=r){
            guess=Math.floor((l+r)/2);
            if(arr[guess]==x) return guess;
            if(arr[guess]<x){
               l=guess+1;
            }else{
               // console.log(arr[guess]);
               r=guess-1;
            }
        }
        return -1;
   }
   let arr=[3,15,18,68];
   let c=bSearch(arr,88);
   console.log(c)