龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

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

时间:2014-07-22 14:48来源: 作者: 点击:
分享到:
<无详细内容>
<?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 '二分查找失败!';
	}
}
精彩图集

赞助商链接