PHP二分查找法
warning:
这篇文章距离上次修改已过1036天,其中的内容可能已经有所变动。
$array = array(11,3,56,62,21,66,32,78,36,76,39,88,34);
$target = 32;
$beg = 0;
$end = count($array) - 1;
// 二分查找算法,指定数字里面的键是多少
function binSearch($array, $beg, $end, $target)
{
if ($beg <= $end){
var_dump($beg, $end);echo "\n";
$mid = intval(($beg+$end)/2 );
if ($array[$mid] == $target){
return $mid;
}elseif ($target <= $array[$mid]){
return binSearch($array, $beg, $mid-1, $target);
}else{
return binSearch($array,$mid+1, $end-1, $target);
}
}
return false;
}
$find = binSearch($array, $beg, $end, $target);
var_dump($find);