程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> php 二分法查找函數 使用教程

php 二分法查找函數 使用教程

編輯:PHP基礎知識
 

二分法查找函數的php實現

/*
*
* binarysearch 在數組中查找制定值
* returns false 沒找到( 使用 '===' 作比較)
* return position 找到
*/
function binarysearch( $haystack, $needle )
{
if ( !is_array($haystack) )
{ return false; }
$btm = 0;
$top = count($haystack)-1;
// just in case not a normal array, but is sorted properly
$keys = array_keys($haystack);
while ( $btm <= $top )
{
$pivot = floor(($btm+$top)/2);
if ( $needle == $haystack[$keys[$pivot]] )
{ return $keys[$pivot]; }
elseif ( $needle < $haystack[$keys[$pivot]] )
{ $top = $pivot-1; }
else
{ $btm = $pivot+1; }
}
return false;
}

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved