这篇文章主要介绍了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 '二分查找失败!'; } }
|