当前位置: 首页 > 图文教程 > 网络编程 > PHP > php 数组二分法查找函数代码

PHP
PHP高级OOP技术演示
PHP注入的安全规范
PHP魔法函数应用详解
在PHP中实现用户身份认证两种方法
关于PHP中for循环语句的几种变型
php对gzip文件或者字符串解压实例参考
PHP 构建语义 Web CRUD 操作
php任意图像裁剪成固定大小
PHP IDE程序 phpeclipse
PHP5中的PDO的使用和介绍
PHP中strtr和str_replace比较
PHP在特定目录中找特定类型的文件
PHP5环境下采用sqlite数据库开发小小总结
PHP5+APACHE2.2配置成功案例
深入浅析:用于MySQL的PHP XML类
PHP通过header实现文本文件的下载
PHP函数使用入门
如何在PHP中定义一个类
教你在PHP中使用全局变量
PHP+AJAX实现实时显示在线用户信息

PHP 中的 php 数组二分法查找函数代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 170 ::
收藏到网摘: n/a

search函数 其中$array为数组,$k为要找的值,$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函数并输出查找结果
?>