简单描述一下二分查找和顺序查找

<?phpphp


class search数组

{this

// 查找的源数组spa

private $array = array(1,2,3,5,7,6,4,8);code

/**it

* 顺序查找法io

* @param $val 要查找的值function

*/class

public function query_search($val)foreach

{

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

}

}

相关文章
相关标签/搜索