快速排序是一种基于分而治之思想的排序算法,可在PHP中实现如下:
函数快速排序($ arr ){
$ length = count($ arr);
if($ length & lt;= 1) {
return $ arr
}
$pivot_key = floor(长度/2);
$ pivot = $ arr【$ pivot _ key】;
$ left = $ right =【】;
foreach($ arr as $ key = & gt;$ value ){
if($ key = = $ pivot _ key ){
继续;
}
if($ value & lt;$ pivot ){
$ left【】= $ value;
}否则{
$ right【】= $ value;
}
}
返回array _ merge(quick sort($ left),【$pivot】,quick sort($ right));
}
$ arr =【3,6,8,10,1,2,1】;
$ result = quick sort($ arr);
var _ dump($ result);
在上面的代码中,quickSort函数实现了快速排序。首先判断数组的长度是否小于等于1,如果是,直接返回数组。然后选择一个轴心,将小于轴心的元素放在左边,将大于或等于轴心的元素放在右边。然后递归排序左右数组,最后合并左右数组并返回排序后的结果。
以上内容来自互联网,不代表本站全部观点!欢迎关注我们:zhujipindao。com
评论前必须登录!
注册