复制代码 代码如下:
<?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 "二分查找失败!";
}
}