php顺序查找和二分查找示例


Posted in PHP onMarch 27, 2014
<?php
class search
{
 // 查找的源数组
 private $array = array(1,2,3,5,7,6,4,8);
 /**
  * 顺序查找法
  * @param $val 要查找的值
  */
 public function query_search($val)
 {
  foreach ($this->array as $k => $v)
  {
   if($v == $val)
   {
    echo '顺序查找成功!';
    exit(0);
   }
  }
  echo '顺序查找失败!';
 }
 /**
  * 二分查找法
  * @param $val 要查找的值
  */
 public function bin_search($val)
 {
  sort($this->array);
  $min = 0;
  $max = count($this->array);
  for ($i = $min; $i < $max; $i++)
  {
   $mid = ceil(($min + $max) / 2);
   if($val == $this->array[$mid])
   {
    echo '二分查找成功!';
    exit(0);
   }
   else if($val < $this->array[$mid])
   {
    $max = $mid;
   }
   else if($val > $this->array[$mid])
   {
    $min = $mid;
   }
  }
  echo '二分查找失败!';
 }
}
PHP 相关文章推荐
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
Sep 24 PHP
PHP 编程安全性小结
Jan 08 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
Jan 12 PHP
Drupal7连接多个数据库及常见问题解决
Mar 02 PHP
php实现httpclient类示例
Apr 08 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
Jun 19 PHP
PHP网站开发中常用的8个小技巧
Feb 13 PHP
标准PHP的AES加密算法类
Mar 12 PHP
基于thinkPHP框架实现留言板的方法
Oct 17 PHP
PHP之十六个魔术方法详细介绍
Nov 01 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
Oct 12 PHP
Laravel timestamps 设置为unix时间戳的方法
Oct 11 PHP
php求两个目录的相对路径示例(php获取相对路径)
Mar 27 #PHP
php环境套包 dedeampz 伪静态设置示例
Mar 26 #PHP
php去除换行(回车换行)的三种方法
Mar 26 #PHP
php的memcache类分享(memcache队列)
Mar 26 #PHP
codeigniter自带数据库类使用方法说明
Mar 25 #PHP
php使用codebase生成随机数
Mar 25 #PHP
php中stream(流)的用法
Mar 25 #PHP
You might like
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
前端必学之PHP语法基础
2016/01/01 PHP
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
jquery实现手风琴效果实例代码
2013/11/15 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
jQuery图片轮播滚动切换代码分享
2020/04/20 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
2016/09/21 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
2016/12/20 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
Vue实现搜索 和新闻列表功能简单范例
2018/03/16 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
JavaScript实现构造json数组的方法分析
2018/08/17 Javascript
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
vue回到顶部监听滚动事件详解
2019/08/02 Javascript
关于layui 弹出层一闪而过就消失的解决方法
2019/09/09 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
小程序实现密码输入框
2020/11/16 Javascript
django实现模板中的字符串文字和自动转义
2020/03/31 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
为什么称python为胶水语言
2020/06/16 Python
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
Html5原创俄罗斯方块(基于canvas)
2019/01/07 HTML / CSS
计算机专业学生的自我评价
2013/12/15 职场文书
建筑系毕业生自我鉴定
2014/01/24 职场文书
资源工程专业毕业生求职信
2014/02/27 职场文书
就业协议书怎么填
2014/04/11 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
亮剑精神观后感
2015/06/05 职场文书
有趣的二维码:使用MyQR和qrcode来制作二维码
2021/05/10 Python
python中opencv实现图片文本倾斜校正
2021/06/11 Python
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android