二分查找也可称作折半查找
类似猜数字游戏一样,一个小伙伴心里设置一个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 }