2分查找 有序数据
2分查找也称折半查找,2分查找算法就是不断将数组进行对半分割,每次拿中间元素和goal进行比较。
function arryFn (arry,num){
var low = 0;//设置一个最低值
var height = (arry.length)-1;//设置一个最高值
while (low <= height){
var mid = parseInt((low + height)/2);//设置一个中间值
var midVale = arry[mid];//中间值索引所在的值
if(midVale == num){
return mid;
}else if(midVale < num){
low = mid;
}else{
height = mid;
}
}
}
var ary = [10,11,12,14,15,16,17,19,20,21,22,24];
console.log(arryFn(ary,15));//4
复制代码