您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

这样写二分查找如何不对呢

2026/1/1 6:05:44发布21次查看
这样写二分查找怎么不对呢
function binarysearch($arr,$a){
$low = 0;
$high = count($arr)-1;
$mid = ceil(($low+$high)/2);
while($low$arr[$mid]){
$high = count($arr)-1;
$low = $mid+1;
$mid = ceil(($low+$high)/2);
}
if ($a
------解决方案--------------------
本帖最后由 xuzuning 于 2013-03-30 17:42:33 编辑
function binarysearch($arr,$a){
$low = 0;
$high = count($arr)-1;
$mid = ceil(($low+$high)/2);
$n = 0;防止死循环的措施
while($low<=$high && $n++$arr[$mid]){
$high = count($arr)-1;
$low = $mid-1;//注意这里
$mid = ceil(($low+$high)/2);
}
if ($a<$arr[$mid]) {
$low = 0;
$high = $mid+1;//注意这里
$mid = ceil(($low+$high)/2);
}
}
}
------解决方案--------------------
按 php 实际可写作
function binarysearch($arr,$a){
$low = 0;
$high = count($arr)-1;
$mid = ceil(($low+$high)/2);
$num = count($arr);
while($low $arr[$mid] ? array($mid, $high) : array($low, $mid);
$mid = ceil(($low+$high)/2);
}
}

------解决方案--------------------
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product