function binarySeach( arr,val,leftIndex,rightIndex ){
//找到中间的值
var midIndex = Math.floor((leftIndex+rightIndex)/2);
var midval=arr[midIndex];
//console.log(midval );
if( leftIndex > rightIndex ){
console.log("前一位是",midval );
console.log("下标:",midIndex);
return ;
}
if( midval > val ){
binarySeach(arr,val,leftIndex,midIndex-1);
}else if(midval < val){
binarySeach(arr,val,midIndex+1,rightIndex);
}else{
console.log("找到了,下标为:"+midIndex);
return;
}
}
var arr=[1,3,12,21,24,44,54,67];
binarySeach(arr,25,0,arr.length-1);
网友评论