<?php
function binsearch($arr,$key){
$num = count($arr);
$left = 0;
$right = $num - 1;
while ($left <= $right) {
$mid = intval(($left + $right)/2);
if($arr[$mid] == $key){
return $mid;
}
if($arr[$mid] > $key){
//key应该在左边
$right = $mid-1;
}
if($arr[$mid] < $key){
//key应该在右边
$left = $mid+1;
}
}
return -1;
}
$arr = range(1,10);
echo "查找7:";
echo binsearch($arr,7); //$arr为升序排列的数组
用PHP实现折半(二分)查找
最新推荐文章于 2021-04-04 18:45:20 发布