本文主要和大家分享php之quicksort 快速排方法实例,希望能帮助大家更好掌握如何使用quicksort。
<?phpfunction quicksort($arr){
//先判断是否需要继续进行
$length = count($arr); if ($length <= 1) { return $arr;
} //选择第一个元素作为基准
$base_num = $arr[0]; //遍历除了标尺外的所有元素,按照大小关系放入两个数组内
//初始化两个数组
$left_array = []; //小于基准的
$right_array = []; //大于基准的
for ($i = 1; $i < $length; $i++) { if ($base_num > $arr[$i]) //放入左边数组
$left_array[] = $arr[$i]; else
//放入右边
$right_array[] = $arr[$i];
} //再分别对左边和右边的数组进行相同的排序处理方式递归调用这个函数
$left_array = quicksort($left_array); $right_array = quicksort($right_array); //合并
return array_merge($left_array, array($base_num), $right_array);
}$arr1 = [1, 4, 5, 8, 2, 12, 23, 17];$arr2 = quicksort($arr1);
var_dump($arr2);
相关推荐:
php冒泡、选择、插入和快速排序算法分享
js快速排序方法实例
php实现快速排序的方法示例
以上就是php之quicksort 快速排方法实例的详细内容。