阅读:2911回复:0
简单易用的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 '二分查找失败!'; } } |
|