php顺序查找和二分查找示例

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

}

}