php顺序查找与二分查找实例

发布时间:2019-10-01编辑:脚本学堂
本文介绍了php实现顺序查找与二分查找的例子,有需要的朋友做个参考,希望对大家有所帮助。

php顺序查找和二分查找实现代码。
 

复制代码 代码示例:

<?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 '二分查找失败!';
 }
}