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 相关文章推荐
利用 window_onload 实现select默认选择
Oct 09 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
Jul 22 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
May 10 PHP
javascript some()函数用法详解
Nov 13 PHP
浅谈php+phpStorm+xdebug配置方法
Sep 17 PHP
php 问卷调查结果统计
Oct 08 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
laravel框架语言包拓展实现方法分析
Nov 22 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 PHP
浅谈PHP中的那些魔术常量
Dec 02 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中where()使用方法详解
2016/04/19 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
2015/04/26 Javascript
自己动手写的javascript前端等待控件
2015/10/30 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
node.js + socket.io 实现点对点随机匹配聊天
2017/06/30 Javascript
JS设计模式之惰性模式(二)
2017/09/29 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
微信小程序button组件使用详解
2018/01/31 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
服务端预渲染之Nuxt(使用篇)
2019/04/08 Javascript
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
jquery实现上传文件进度条
2020/03/26 jQuery
js+h5 canvas实现图片验证码
2020/10/11 Javascript
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
利达恒信公司.NET笔试题面试题
2016/03/05 面试题
商务日语专业的自荐信
2014/05/23 职场文书
出售房屋委托书范本
2014/09/24 职场文书
机关作风建设自查报告
2014/10/22 职场文书
前台岗位职责范本
2015/04/16 职场文书
python OpenCV学习笔记
2021/03/31 Python
java设计模式--建造者模式详解
2021/07/21 Java/Android
python实现手机推送 代码也就10行左右
2022/04/12 Python
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL