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 相关文章推荐
Windows下PHP5和Apache的安装与配置
Sep 05 PHP
用PHP开发GUI
Oct 09 PHP
php绝对路径与相对路径之间关系的的分析
Mar 03 PHP
php ob_flush,flush在ie中缓冲无效的解决方法
May 09 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
Sep 15 PHP
PHP的简易冒泡法代码分享
Aug 28 PHP
使用PHP会话(Session)实现用户登陆功能
Jun 29 PHP
PHP中trim()函数简单使用指南
Apr 16 PHP
PHP数学运算与数据处理实例分析
Apr 01 PHP
YII框架实现自定义第三方扩展操作示例
Apr 26 PHP
laravel admin实现分类树/模型树的示例代码
Jun 10 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
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
php面向对象 字段的声明与使用
2012/06/14 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
2014/05/10 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
利用javascript中的call实现继承
2007/01/22 Javascript
jQuery实现平滑滚动到指定锚点的方法
2015/03/20 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
基于jQuery实现的QQ表情插件
2015/08/25 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
2015/12/24 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
浅析从vue源码看观察者模式
2018/01/29 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
Vue 实现分页与输入框关键字筛选功能
2020/01/02 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
2020/10/24 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
Python中的日期时间处理详解
2016/11/17 Python
Django自定义分页效果
2017/06/27 Python
Python 异常处理的实例详解
2017/09/11 Python
python学生信息管理系统
2018/03/13 Python
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
python中return的返回和执行实例
2019/12/24 Python
Python生成器常见问题及解决方案
2020/03/21 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
Herve Leger官网:标志性绷带连衣裙等
2018/12/26 全球购物
捐书寄语赠言
2014/01/18 职场文书
团日活动总结书格式
2014/05/08 职场文书
微笑服务演讲稿
2014/05/13 职场文书
局机关干部群众路线个人对照检查材料思想汇报
2014/10/05 职场文书
年终工作总结范文2014
2014/11/27 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS
Python Pygame实战之塔防游戏的实现
2022/03/17 Python