$arr = array(12, 23, 34, 45, 56, 67, 78, 89);
$find = 34;
function binary($arr, $find){
$begin = 0;
$end = count($arr)-1;
while($begin<=$end){
$mid = (int)floor(($begin+$end)/2);
if($arr[$mid] == $find){
return $mid;
}
if($arr[$mid] > $find){//目标数在左边
$end = $mid-1;
}
if($arr[$mid] < $find){//目标数在右边
$begin = $mid+1;
}
}
return -1;
}
$index = binary($arr, $find);
var_dump($index);
二分法查找-php实例
最新推荐文章于 2025-04-30 16:36:16 发布