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 相关文章推荐
用sql命令修改数据表中的一个字段为非空(not null)的语句
Jun 04 PHP
thinkphp实现图片上传功能分享
Mar 04 PHP
destoon安装出现Internal Server Error的解决方法
Jun 21 PHP
PHP文件读取功能的应用实例
May 08 PHP
php中smarty模板条件判断用法实例
Jun 11 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
Oct 14 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
Apr 03 PHP
Yii 2中的load()和save()示例详解
Aug 03 PHP
thinkphp中的多表关联查询的实例详解
Oct 12 PHP
php实现分页功能的详细实例方法
Sep 29 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
Oct 17 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 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
使用PHP求两个文件的相对路径
2013/06/20 PHP
ThinkPHP模板中数组循环实例
2014/10/30 PHP
汇总PHPmailer群发Gmail的常见问题
2016/02/24 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
window.location.hash 使用说明
2010/11/08 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
2013/03/11 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
jquery实现勾选复选框触发事件给input赋值
2015/02/01 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
jquery 动态增加删除行的简单实例(推荐)
2016/10/12 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
将RGB值转换为灰度值的简单算法
2019/10/09 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
使用Python操作excel文件的实例代码
2017/10/15 Python
python使用opencv驱动摄像头的方法
2018/08/03 Python
纯python进行矩阵的相乘运算的方法示例
2019/07/17 Python
Python3自动生成MySQL数据字典的markdown文本的实现
2020/05/07 Python
浅析Python __name__ 是什么
2020/07/07 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
Python 图片处理库exifread详解
2021/02/25 Python
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
Waterford英国官方网站:世界上最受欢迎的优质水晶品牌
2019/08/17 全球购物
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
民间借贷协议书范本
2014/10/01 职场文书
研究生导师推荐信
2015/03/25 职场文书
2015年英语教师工作总结
2015/05/20 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电