php算法:二分查找
使用二分查找算法的前提条件:数组中的元素必须是从大到小排序,并且还不可以重复。
function kay_search($list, $item)
{
$low = 0; // 开始查找位置
$high = count($list) - 1; // 最大查找次数
$mid = floor(($high + $low) / 2); // 取分查找中间数
while ($low <= $high) {
if ($item == $list[$mid]) {
return $mid;
} else if ($item > $list[$mid]) {
$low = $mid + 1;
} else {
$high = $mid - 1;
}
$mid = floor(($high + $low) / 2);
}
}
echo kay_search(array(1, 2, 3, 4, 6, 20, 33), 3); 






