JS 二分查找

二分搜索是著名的,也是不用目录查字典的方法。

——先翻到一半,如果比想要的大值了,那么就翻开前面的一半找,否则,翻开后面的一半,反复操作。

 

 

var group= [1,3,4,5,8]; 

function binarySearch(list,item) {//前提是已经排序了
    var start = 0;
    var end = list.length-1;
    while(start <= end){
        var mid = Math.floor((start+end)/2);
        if(list[mid] < item){
            start = mid+1;
        }else if (list[mid] > item){
            end = mid-1;
        }else{
            return mid;
        }
    }
    return -1;
};

binarySearch(group,3);

 

posted @ 2018-08-07 19:42  Esther_Cheung  阅读(340)  评论(0)    收藏  举报