PHP快速排序是一种分治算法,它的基本思想是:从数列中挑出一个元素,作为基准(pivot)
PHP快速排序是一种分治算法,它的基本思想是:
1. 从数列中挑出一个元素,作为基准(pivot)
2. 重新排序数列,所有比基准小的元素放在基准前面,所有比基准大的元素放在基准后面(相同的数可以到任一边)。
3. 对排序好的两个子序列重复以上步骤,直到所有子序列只剩下一个元素为止。
是一个 PHP 实现的快速排序算法:
php
$arr[$i]) {
//放入左边数组
$left_array[] = $arr[$i];
} else {
//放入右边
$right_array[] = $arr[$i];
}
}
//再分别对 左边 和 右边的数组进行相同的排序处理方式
//递归调用这个函数,并记录结果
$left_array = quick_sort($left_array);
$right_array = quick_sort($right_array);
//合并左边 标尺 右边
return array_merge($left_array, array($base_num), $right_array);
}
$test_array = array(3,44,38,5,47,15,36,26,27,2,46,4,19,50,48);
echo '原始数组 : '.implode(',',$test_array).'\n';
$test_array = quick_sort($test_array);
echo '排序后数组 : '.implode(',',$test_array);
?>
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(79条)