javascript二分查找

二分查找也可称作折半查找

类似猜数字游戏一样,一个小伙伴心里设置一个0~100的数字,另外一个小伙伴猜,另外一个小伙伴肯定是从50 开始猜,如果这个数字小于50,这个小伙伴肯定会猜25,那么这就是属于二分查找的思想;

 

上代码:

function searching(target){
    // 设定起始,终点序号,中间序号,当前元素
    var start = 0, end = arr.length - 1,middle,element;
    while(start<=end){
        // 获取中间节点的序号
        middle = Math.floor((start+end)/2)
        // 当前元素
        element = arr[middle]
        if(element === target){ // 找到
            // 如果元素等于要找的值,返回这个middle序号
            return middle
        }else if(element<target){
            // 向右边寻找
            start = middle+1
        } else {
           // 向左边寻找
            end = middle - 1
        }
    }
    // 没有找到  返回-1
   return -1   
}

 

posted @ 2022-07-05 14:32  大桥默默学  阅读(83)  评论(0编辑  收藏  举报