时间:2021-07-01 10:21:17 帮助过:21人阅读
//二分查找法 数组必须是有序的
function binarySeach(arr,findval,leftIndex,rightIndex){
//找到中间的值
var midIndex=Math.floor((leftIndex+rightIndex)/2);
var midval=arr[midIndex];
//防止无穷递归
if(leftIndex>rightIndex){
//说明找不到
document.writeln("找不到");
return ;
}
//进行查找 //说明往右边找 //找到了 输出或者返回 var arr=[1,3,12,21,24,44,54,67];
if(midval>findval){
//在左边找
binarySeach(arr,findval,leftIndex,midIndex-1);
}else if(midval
binarySeach(arr,findval,midIndex+1,rightIndex);
}else{
document.writeln("找到了,下标为:"+midIndex);
return ;
}
}
binarySeach(arr,67,0,arr.length-1);
script>