php 数组二分法查找函数代码

yipeiwu_com5年前PHP代码库
复制代码 代码如下:

<?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 采集程序 常用函数

当前的脚本网址 function get_php_url(){ if(!empty($_SERVER["REQUEST_URI"])){ $scriptName = $_SERVER["...

PHP 采集程序中常用的函数

复制代码 代码如下://获得当前的脚本网址 function get_php_url() { if(!empty($_SERVER[”REQUEST_URI”])) { $scriptN...

对text数据类型不支持代码页转换 从: 1252 到: 936

对 text 数据类型不支持代码页转换。从: 1252 到: 936。 ———————————————————— 该问题是由于设计标的时候,原数据库采用的是: 英语(美国) 0×409...

PHP实现无限极分类生成分类树的方法

本文实例讲述了PHP实现无限极分类生成分类树的方法。分享给大家供大家参考,具体如下: 现在的分类数据库设计基本都是:每一个分类有一个id主键字段,一个pid指向父类的id,这样便可实现无...

php编写简单的文章发布程序

-- -- 表的结构 `yi_article` -- CREATE TABLE IF NOT EXISTS `yi_article` ( `id` int(11) unsign...