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中extract()函数的定义和用法
Aug 17 PHP
ThinkPHP关联模型操作实例分析
Sep 23 PHP
PHP设计模式之调解者模式的深入解析
Jun 13 PHP
php获取文件内容最后一行示例
Jan 09 PHP
php数据库备份还原类分享
Mar 20 PHP
非常好用的Zend Framework分页类
Jun 25 PHP
PHP字符串word末字符实现大小写互换的方法
Nov 10 PHP
为PHP5.4开启Zend OPCode缓存
Dec 26 PHP
thinkPHP中验证码的简单使用方法
Dec 26 PHP
yii去掉必填项中星号的方法
Dec 28 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
Oct 10 PHP
php array_slice 取出数组中的一段序列实例
Nov 04 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
php和js交互一例-PHP教程,PHP应用
2007/01/03 PHP
php防止sql注入代码实例
2013/12/18 PHP
windows下配置php5.5开发环境及开发扩展
2014/12/25 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
php遍历解析xml字符串的方法
2016/05/05 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
2017/08/07 PHP
xml和web特殊字符
2009/04/28 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
2018/12/04 jQuery
seajs和requirejs模块化简单案例分析
2019/08/26 Javascript
js获取 gif 的帧数的代码实例
2019/09/10 Javascript
JS 5种遍历对象的方式
2020/06/16 Javascript
在vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量操作
2020/08/10 Javascript
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
儿童学习python的一些小技巧
2018/05/27 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
html5教程制作简单画板代码分享
2013/12/04 HTML / CSS
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
2014年超市工作总结
2014/11/19 职场文书
师德师风个人总结
2015/02/06 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书
党员转正意见怎么写
2015/06/03 职场文书
2016年“抗战胜利纪念日”71周年校园广播稿
2015/12/18 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers
Java实现房屋出租系统详解
2021/10/05 Java/Android