6.5.11 使用PHP程序進(jìn)一步理解快速排序法
<?php
$arr = array(20, 18, 33, 17, 44, 15, 22, 13, 25, 34, 11, 18, 66);
function qsort($arr) {
if(!is_array($arr) || empty($arr))
return array();
//獲取數(shù)組的長度
$len = count($arr);
//如果數(shù)組中只有一個(gè)元素, 直接返回這個(gè)數(shù)組
if($len <= 1)
return $arr;
$key[0] = $arr[0];
$left = array();
$right = array();
for($i = 1; $i<$len; $i++) {
if($arr[$i] <= $key[0]) {
$left[]=$arr[$i];
}else{
$right[] = $arr[$i];
}
}
$left=qsort($left);
$right=qsort($right);
return array_merge($left, $key, $right);
}
print_r($arr);
echo '<br>';
print_r(qsort($arr));