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);
js - 二分法查找(适用于数据量较大时,但是数据需要先排好顺序)
最新推荐文章于 2022-10-11 11:28:50 发布