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 相关文章推荐
建立动态的WML站点(二)
Oct 09 PHP
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
Nov 18 PHP
php SQL之where语句生成器
Mar 24 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
Jun 02 PHP
php设计模式  Command(命令模式)
Jun 17 PHP
编写安全 PHP应用程序的七个习惯深入分析
Jun 08 PHP
php不允许用户提交空表单(php空值判断)
Nov 12 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
Mar 18 PHP
浅谈PHP正则中的捕获组与非捕获组
Jul 18 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
Apr 04 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
laravel框架使用阿里云短信发送消息操作示例
Feb 15 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
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
php截取视频指定帧为图片
2016/05/16 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
Firefox outerHTML实现代码
2009/06/04 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
2014/07/17 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
BootStrap智能表单实战系列(八)表单配置json详解
2016/06/13 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
浅析vue给不同环境配置不同打包命令
2018/08/17 Javascript
Vue中实现回车键切换焦点的方法
2020/02/19 Javascript
基于vue实现微博三方登录流程解析
2020/11/04 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
python批量修改文件名的实现代码
2014/09/01 Python
基于Python代码编辑器的选用(详解)
2017/09/13 Python
python批量修改图片尺寸,并保存指定路径的实现方法
2019/07/04 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
怎样实现H5+CSS3手指滑动切换图片的示例代码
2019/05/05 HTML / CSS
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
秘书岗位职责
2013/11/18 职场文书
体育教师自荐信范文
2013/12/16 职场文书
问卷调查计划书
2014/01/10 职场文书
车辆工程专业求职信
2014/04/28 职场文书
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
社保代办委托书怎么写
2014/10/06 职场文书
民事辩护词范文
2015/05/21 职场文书
职工宿舍管理制度
2015/08/05 职场文书
Redis中一个String类型引发的惨案
2021/07/25 Redis
mysql中关键词exists的用法实例详解
2022/06/10 MySQL