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 相关文章推荐
基于文本的搜索
Oct 09 PHP
解决phpmyadmin 乱码,支持gb2312和utf-8
Nov 20 PHP
PHP中文URL编解码(urlencode()rawurlencode()
Jul 03 PHP
PHP面向对象学习笔记之一 基础概念
Oct 06 PHP
php笔记之:php函数range() round()和list()的使用说明
Apr 26 PHP
php通过隐藏表单控件获取到前两个页面的url
Sep 09 PHP
php中运用http调用的GET和POST方法示例
Sep 29 PHP
php+xml实现在线英文词典查询的方法
Jan 23 PHP
PHP加密解密类实例分析
Apr 20 PHP
yii2超好用的日期组件和时间组件
May 05 PHP
CI框架数据库查询缓存优化的方法
Nov 21 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
Mar 14 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
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
php xml实例 留言本
2009/03/20 PHP
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
2014/06/09 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
2011/01/06 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
2013/11/20 Javascript
jquery淡化版banner异步图片文字效果切换图片特效
2014/04/08 Javascript
javascript父子页面通讯实例详解
2015/07/17 Javascript
jQuery打字效果实现方法(附demo源码下载)
2015/12/18 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
JS排序之快速排序详解
2017/04/08 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
配置eslint规范项目代码风格
2019/03/11 Javascript
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
Vue 嵌套路由使用总结(推荐)
2020/01/13 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
Python中的文件和目录操作实现代码
2011/03/13 Python
Python深入学习之闭包
2014/08/31 Python
python使用rsa非对称加密过程解析
2019/12/28 Python
Python实例教程之检索输出月份日历表
2020/12/16 Python
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
《小猪家的桃花树》教学反思
2014/04/11 职场文书
节约用水倡议书
2014/04/16 职场文书
大学毕业生求职自荐书
2014/06/05 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
详解Python魔法方法之描述符类
2021/05/26 Python