二分法

$array = array(1,2,3,4,11,12,124,1245);
//普通查找的方法
  $res = Loop($array,12);
 var_dump($res);
 function Loop($arr,$v)
 {
$num = 0;
$size = count($arr)-1;
for($i=0; $i<$size; $i++)
{
$num++;
if($v == $arr[$i]){
return $i ;
}
}
 }
 
 
 //二分法
 $res = find($array,12);
 var_dump($res);
 function find($arr,$v)  
 {  
     $start = 0;  
     $end   = count($arr) - 1;      
     while($start <= $end)  
     {  
        $index = intval(($start + $end) / 2);             
        if($v < $arr[$index])  
         {  
             $end = $index - 1;  
         }  
         elseif($v > $arr[$index])  
         {  
             $start = $index + 1;  
        }  
        else 
         {  
             return $index;  
         }  
     }  
     return -1;  
 } 

你可能感兴趣的:(职场,二分法,休闲)