Home  >  Article  >  Backend Development  >  PHP sequential search and binary search_PHP tutorial

PHP sequential search and binary search_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:34:571025browse

<?<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>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/747274.htmlTechArticle? = (1,2,3,5,7,6,4,8 query_search( ( - = ( == 'Sequential search successful!' (0 'Sequential search failed!' bin_search( ( - = 0 = ( - ( = ; ; ; ++ = (( + ) / 2 ( == - [ 'Binary search successful!' ( 0 ( -...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn