首頁 > php教程 > php手册 > 主體

php顺序查找和二分查找

WBOY
發布: 2016-06-13 09:39:55
原創
1476 人瀏覽過

<?<span php
</span><span class</span><span  search
{
</span><span //</span><span  查找的源数组</span>
<span private</span> <span $array</span> = <span array</span>(1,2,3,5,7,6,4,8<span );

</span><span /*</span><span *
* 顺序查找法
* @param $val 要查找的值
</span><span */</span>
<span public</span> <span function</span> query_search(<span $val</span><span )
{
</span><span foreach</span> (<span $this</span>-><span array</span> <span as</span> <span $k</span> => <span $v</span><span )
{
</span><span if</span>(<span $v</span> == <span $val</span><span )
{
</span><span echo</span> '顺序查找成功!'<span ;
</span><span exit</span>(0<span );
}
}

</span><span echo</span> '顺序查找失败!'<span ;
}

</span><span /*</span><span *
* 二分查找法
* @param $val 要查找的值
</span><span */</span>
<span public</span> <span function</span> bin_search(<span $val</span><span )
{
</span><span sort</span>(<span $this</span>-><span array</span><span );

</span><span $min</span> = 0<span ;
</span><span $max</span> = <span count</span>(<span $this</span>-><span array</span><span );

</span><span for</span> (<span $i</span> = <span $min</span>; <span $i</span> < <span $max</span>; <span $i</span>++<span )
{
</span><span $mid</span> = <span ceil</span>((<span $min</span> + <span $max</span>) / 2<span );
</span><span //</span><span  www.jbxue.com</span>
<span if</span>(<span $val</span> == <span $this</span>-><span array</span>[<span $mid</span><span ])
{
</span><span echo</span> '二分查找成功!'<span ;
</span><span exit</span>(0<span );
}
</span><span else</span> <span if</span>(<span $val</span> < <span $this</span>-><span array</span>[<span $mid</span><span ])
{
</span><span $max</span> = <span $mid</span><span ;
}
</span><span else</span> <span if</span>(<span $val</span> > <span $this</span>-><span array</span>[<span $mid</span><span ])
{
</span><span $min</span> = <span $mid</span><span ;
}
}

</span><span echo</span> '二分查找失败!'<span ;
}
}</span>
登入後複製
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!