php 数组二分法查找函数代码
作者:bea
代码如下: <?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) //如果还存在剩余
代码如下:
<?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 导出数据到淘宝助手CSV的方法分享
- 基于pear auth实现登录验证
- php str_pad() 将字符串填充成指定长度的字符串
- php 用checkbox一次性删除多条记录的方法
- PHP实现域名whois查询的代码(数据源万网、新网)
- PHP 伪静态隐藏传递参数名的四种方法
- 收藏的PHP常用函数 推荐收藏保存
- Search File Contents PHP 搜索目录文本内容的代码
- php中理解print EOT分界符和echo EOT的用法区别小结
- 用Zend Encode编写开发PHP程序
- PHP 学习路线与时间表
- php 高效率写法 推荐
- php 魔术函数使用说明
- php microtime获取浮点的时间戳
- PHP+ajax 无刷新删除数据
- php 读取文件乱码问题
- 判断是否为指定长度内字符串的php函数
- 支持数组的ADDSLASHES的php函数
- php htmlspecialchars加强版