二分演算法

wangxiaojin發表於2018-08-21

找陣列中的一個元素,在陣列中的索引號,如果有返回索引號,如果沒有返回-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)


複製程式碼

相關文章