关注分享主机优惠活动
国内外VPS云服务器

php如何实现快速排序(php排序方法有几种不同)

快速排序是一种基于分而治之思想的排序算法,可在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

未经允许不得转载:主机频道 » php如何实现快速排序(php排序方法有几种不同)

评论 抢沙发

评论前必须登录!