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


Posted in PHP onFebruary 16, 2010
<?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抽象工厂模式(Elgg)
Mar 21 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
Apr 07 PHP
浅析php中jsonp的跨域实例
Jun 21 PHP
将php数组输出html表格的方法
Feb 24 PHP
php对数组排序代码分享
Feb 24 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
thinkphp判断访客为手机端或PC端的方法
Nov 24 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
Feb 07 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
Laravel 批量更新多条数据的示例
Nov 27 PHP
PHP中上传文件打印错误错误类型分析
Apr 14 PHP
PHP中关于php.ini参数优化详解
Feb 28 PHP
在字符串指定位置插入一段字符串的php代码
Feb 16 #PHP
GBK的页面输出JSON格式的php函数
Feb 16 #PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 #PHP
用PHP ob_start()控制浏览器cache、生成html实现代码
Feb 16 #PHP
PHP IPV6正则表达式验证代码
Feb 16 #PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
Feb 16 #PHP
PHP 截取字符串函数整理(支持gb2312和utf-8)
Feb 16 #PHP
You might like
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
php设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
发现的以前不知道的函数
2006/09/19 Javascript
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
javascript操作JSON的要领总结
2012/12/09 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
JQuery仿小米手机抢购页面倒计时效果
2014/12/16 Javascript
移动手机APP手指滑动切换图片特效附源码下载
2015/11/30 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
[29:23]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场1
2014/05/23 DOTA
对python中for、if、while的区别与比较方法
2018/06/25 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
Python创建文件夹与文件的快捷方法
2020/12/08 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
东方电视购物:东方CJ
2016/10/12 全球购物
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
意大利婴儿产品网上商店:Mukako
2018/10/14 全球购物
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
传播学毕业生求职信
2013/10/11 职场文书
数控技校生自我鉴定
2014/03/02 职场文书
承诺书格式
2014/06/03 职场文书
关于读书的活动方案
2014/08/14 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
公司年会开场白
2015/06/01 职场文书
2016党校培训心得体会
2016/01/07 职场文书
2019经典广告词集锦!
2019/07/02 职场文书
创业计划书之餐饮馄饨店
2019/07/18 职场文书
服务器nginx权限被拒绝解决案例
2022/09/23 Servers