<?php
/*
* 二分查找(必须是有顺序数)必须掌握
* @arr 要被查找的数组
* @findvl 要查找的数
* @right 右边的数组
* @left 左边数组
* @middle 中间的数
*/
$arr=array(-1,0,40,90);
function binarysearch(&$arr,$findval,$left,$right)
{
if($right<$left)
{
echo “找不到此数”;
return ;
}
$middle=round(($right+$left)/2);
if($findval>$arr[$middle])
{
binarysearch($arr,$findval,$middle+1,$right);
}else if($findval<$arr[$middle])
{
binarysearch($arr,$findval,$left,$middle-1);
}else
{
echo $middle;
}
}
binarysearch($arr,0,0,count($arr));