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 相关文章推荐
分页显示Oracle数据库记录的类之一
Oct 09 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
ThinkPHP与PHPExcel冲突解决方法
Aug 08 PHP
注册页面之前先验证用户名是否存在的php代码
Jul 14 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
php检测图片木马多进制编程实践
Apr 11 PHP
深入解析PHP中逗号与点号的区别
Aug 05 PHP
codeigniter集成ucenter1.6双向通信的解决办法
Jun 12 PHP
php实现递归与无限分类的方法
Feb 16 PHP
php封装的page分页类完整实例
Oct 18 PHP
PHP登录(ajax提交数据和后台校验)实例分享
Dec 29 PHP
PHP扩展Swoole实现实时异步任务队列示例
Apr 13 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
PHP4之COOKIE支持详解
2006/10/09 PHP
深入PHP变量存储的详解
2013/06/13 PHP
PHP使用Mysql事务实例解析
2014/09/08 PHP
php中magic_quotes_gpc对unserialize的影响分析
2014/12/16 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
vue中将网页打印成pdf实例代码
2017/06/15 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
2018/04/09 Javascript
微信小程序实现多选删除列表数据功能示例
2019/01/15 Javascript
Vue2.x通用编辑组件的封装及应用详解
2019/05/28 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
2019/08/12 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
python 多线程应用介绍
2012/12/19 Python
Python生成密码库功能示例
2017/05/23 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
python+selenium识别验证码并登录的示例代码
2017/12/21 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
Python调用Redis的示例代码
2020/11/24 Python
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
客服服务心得体会
2013/12/30 职场文书
六十岁生日答谢词
2014/01/10 职场文书
楼面经理岗位职责范本
2014/02/18 职场文书
捐书倡议书
2014/08/29 职场文书
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书
python 中[0]*2与0*2的区别说明
2021/05/10 Python
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python
Go 内联优化让程序员爱不释手
2022/06/21 Golang