其实在程序编程中排序是非常常用的一种方法,之前在讲内部排序的时候也讲过,而今天和大家分享的是外部排序方法中最常用的一种,叫二分查找法,这个方法其实是使用到了递归方法。
方法如下:
//二分查找法
function search($arr,$findVal,$leftIndex,$rightIndex){
if($leftIndex>$rightIndex){
echo "找不到该数";
return;
}
$middleIndex = round(($rightIndex+$leftIndex)/2);
if($findVal>$arr[$middleIndex]){
search($arr,$findVal,$middleIndex+1,$rightIndex);
}else if($findVal<$arr[$middleIndex]){
search($arr,$findVal,$leftIndex,$middleIndex-1);
}else{
echo "已经找到这个数,它的下标是 $middleIndex";
}
}
当然了,这个方法我个人相信还有提升的空间,不过希望有更好想法的朋友可以多留言提出你们的想法。
智言个人博客






评论前必须登录!
注册