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);