其实在程序编程中排序是非常常用的一种方法,之前在讲内部排序的时候也讲过,而今天和大家分享的是外部排序方法中最常用的一种,叫二分查找法,这个方法其实是使用到了递归方法。
方法如下:
//二分查找法 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"; } }
当然了,这个方法我个人相信还有提升的空间,不过希望有更好想法的朋友可以多留言提出你们的想法。
评论前必须登录!
注册