// 快速排序 /************************** *快速排序其实就是将数组中取出一个中间数。 *让左右两边的数和中间数对比,保证左变都比中间数小,右边都比中间数大 *这样就可以递归得出我们需要的数组 **************************/ function QuickSort($arr){ $num = count($arr); $l=$r=0; for($i=1;$i<$num;$i++){ if($arr[$i] < $arr[0]){ $left[] = $arr[$i]; $l++; }else{ $right[] = $arr[$i]; $r++; } } if($l > 1){ $left = QuickSort($left); } $new_arr = $left; $new_arr[] = $arr[0]; if($r > 1){ $right = QuickSort($right); } for($i=0;$i<$r;$i++){ $new_arr[] = $right[$i]; } return $new_arr; }