php快速排序法
时间:2021-07-01 10:21:17
帮助过:31人阅读
function qsort($arr){
//判断是否为数组 或为空
if(!is_array($arr) || empty($arr)){
return array();
}
//获取数组长度
$len = count($arr);
//判断长度 <=1 返回数组
if($len <= 1){
return $arr;
}
//定义中间键 左键 右键
$key[0] = $arr[0];
$left = array();
$right = array();
//循环 下标从1开始
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);
}
$arr = array(1232,57,34,657543,21,76,43476321,476,52,76,5,-23);
$arr = qsort($arr);
var_dump($arr);
?>
以上就介绍了php快速排序法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。