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+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
PHP $_SERVER详解
Jan 16 PHP
PHP 工厂模式使用方法
May 18 PHP
利用php+mysql来做一个功能强大的在线计算器
Oct 12 PHP
PHP mkdir()无写权限的问题解决方法
Jun 19 PHP
php获取当前页面完整URL地址
Dec 30 PHP
PHP下载远程图片并保存到本地方法总结
Jan 22 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
php使用 readfile() 函数设置文件大小大小的方法
Aug 11 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
Jun 13 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
Apache设置虚拟WEB
2006/10/09 PHP
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
通过源码解析Laravel的依赖注入
2018/01/22 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
JavaScript中的函数重载深入理解
2014/08/04 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
js仿QQ邮箱收件人选择与搜索功能
2017/02/10 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
关于vue里页面的缓存详解
2019/11/04 Javascript
小程序api实现promise封装过程解析
2019/11/21 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
2016/01/20 Python
Python简单实现TCP包发送十六进制数据的方法
2016/04/16 Python
Python加密方法小结【md5,base64,sha1】
2017/07/13 Python
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
python创建文件时去掉非法字符的方法
2018/10/31 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
python远程调用rpc模块xmlrpclib的方法
2019/01/11 Python
python绘图模块matplotlib示例详解
2019/07/26 Python
python使用requests.session模拟登录
2019/08/09 Python
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
布鲁明戴尔百货店:Bloomingdale’s
2016/12/21 全球购物
英国第一豪华护肤品牌:Elemis
2017/10/12 全球购物
英国综合网上购物商城:The Hut
2018/07/03 全球购物
苹果音乐订阅:Apple Music
2018/08/02 全球购物
中专毕业生自我鉴定范文
2013/11/09 职场文书
部队领导证婚词
2014/01/12 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
老员工辞职信范文
2015/05/12 职场文书