php 数组二分法查找函数代码
2018-10-12 13:53
543 查看
<?php
//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 <= $high) //如果还存在剩余的数组元素
{
$mid = intval(($low+$high)/2); //取$low和$high的中间值
if ($array[$mid] == $k) //如果找到则返回
{
return $mid;
}
elseif ($k < $array[$mid]) //如果没有找到,则继续查找
{
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 数组二分法查找函数
- PHP删除Array数组里指定的key(完整版,已封装成函数,附测试代码)
- php数组查找函数in_array()、array_search()、array_key_exists()使用实例
- php数组去重的函数代码
- php数组去重的函数代码
- php中将数组转成字符串并保存到数据库中的函数代码
- php中使用array_filter()函数过滤空数组的实现代码
- php数组函数序列之in_array() 查找数组值是否存在
- 浏览器直接查看数组 (PHP代码函数)
- [李景山php] 深入理解PHP内核[读书笔记]--第二章:用户代码执行--opcode处理函数查找
- 解析php二分法查找数组是否包含某一元素
- php数组查找函数in_array()、array_search()、array_key_exists()使用实例
- PHP数组函数一网打尽(合并,拆分,追加,查找,删除等)
- php数组函数序列之array_key_exists() - 查找数组键名是否存在
- PHP实现一个函数查找字符串数组中最长的公共前缀字符串
- PHP数组查找操作的函数及技巧
- php数组查找函数in_array()、array_search()、array_key_exists()使用实例
- php 二分法查找数组中某数值 案例分析