PHP二分查找(折半查找!)
程序员文章站
2024-03-17 15:56:28
...
二分查找最重要是要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。
详解:
function binary_search($arr,$number)
{
if(!is_array($arr) || empty($arr)) {
return -1;
}
$lenth = count($arr);
$lower = 0;
$heig = $lenth-1;
while($lower < $heig) {
$middle = intval(($lower + $hiig)/2); // 取出折半的数字 做对比
if($arr[$middle] > $number) { // 当number小于折半的数的时候 让最小值加1
$lower = $middle+1;
}else if($arr[$middle] < $number) { // 反之 大于折半的数的时候 让最大值-1
$heig = $middle-1;
}else{
return $middle; //查找到 就返回查找到的值
}
}
return -1;
}
上一篇: 进入保护模式(四)设置一些公用的方法
下一篇: python中小知识点备忘录