快捷搜索:   nginx

二分法查找和快速排序的PHP实现

 

  1. //二分法  function binarySearch($a, $val){  
  2. $low = 0;  $high= count($a) - 1;  
  3. while($low <= $high){  $mid = intval(($low+$high)/2);  
  4. if($a[$mid] == $val) return $mid;  if($a[$mid] > $val){  
  5. $high = $mid - 1;  }else{  
  6. $low = $mid + 1;  }  
  7. }  return -1;  
  8. }   
  9. //快速排序算法  function quickSort(&$a, $l, $r){  
  10. if($l >= $r) return;  $m = pation($a, $l, $r);  
  11. quickSort($a, $l, $m-1);  quickSort($a, $m+1, $r);  
  12. }   
  13. function pation(&$a, $l, $r){  $pivot = $a[$l];  
  14. $i = $l + 1;  $j = $r;  
  15. while(1){  while($a[$i] > $pivot && $i < $j) $i++;  
  16. while($a[$j] < $pivot) $j--;  if($i>=$j) break;  
  17. $temp = $a[$i];  $a[$i]= $a[$j];  
  18. $a[$j]= $temp;  }  
  19. $a[$l] = $a[$j];  $a[$j] = $pivot;  
  20. return $j;  } 

 

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论