php 数组二分法查找函数代码_php技巧
程序员文章站
2022-05-14 13:50:38
...
复制代码 代码如下:
//search函数 其中$array为数组,$k为要找的值,$low为查找范围的最小键值,$high为查找范围的最大键值
function search($array, $k, $low=0, $high=0)
{
if(count($array)!=0 and $high == 0) //判断是否为第一次调用
{
$high = count($array);
}
if($low {
$mid = intval(($low+$high)/2); //取$low和$high的中间值
if ($array[$mid] == $k) //如果找到则返回
{
return $mid;
}
elseif ($k {
return search($array, $k, $low, $mid-1);
}
else
{
return search($array, $k, $mid+1, $high);
}
}
return -1;
}
$array = array(4,5,7,8,9,10); //测试search函数
echo search($array, 8); //调用search函数并输出查找结果
?>
推荐阅读
-
PHP的数组中提高元素查找与元素去重的效率的技巧解析
-
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
-
php数组查找函数总结
-
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
-
PHP代码篇(二)-- array_column函数将二维数组格式化成固定格式的一维数组,及优化查询方法
-
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
-
php数组函数序列之array_key_exists() - 查找数组键名是否存在
-
php数组函数序列之in_array() 查找数组值是否存在
-
php数组去重的函数代码
-
php使用array_search函数实现数组查找的方法