PHP快速排序算法实例分析
本篇章节讲解PHP快速排序算法。分享给大家供大家参考,具体如下: 快速排序:在无序的数组$data中,选择任意一个值作为对比值,定义i为头部检索索引,j为尾部检索索引, 算法步骤:(1)初始化对比值 (2)首先从尾部开始检索,判断 (3)这时开始头部检索,判断 (4)这时 (5)重复3、4直到 (6)这时已经把比 (7)数组分成左右2个无序的数组,再分别递归执行1-6,直到数组长度为1 Tips:快速排序的中文定义百度下会更清楚 代码: $value && $endT > $startT){
$endT--;
}
// 找到比对比值大的左边
while ($data[$startT] < $value && $startT < $endT){
$startT++;
}
if($endT > $startT){
$temp =$data[$startT];
$data[$startT] = $data[$endT];
$data[$endT] = $temp;
}
}
// 防止数组已经排序好的情况
if($data[$startT] < $value){
$data[$startIndex] = $data[$startT];
$data[$startT] = $value;
}
$data = quickSort($data,$startT - 1);
$data = quickSort($data,$startT + 1,$endIndex);
return $data;
}else{
return $data;
}
}
$data = array(10,5,30,22,1,42,14,34,8,13,28,36,7);
$data = quickSort($data,count($data) - 1);
var_dump($data);
运行结果:
PS:这里再为大家推荐一款关于排序的演示工具供大家参考: 在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》 希望本文所述对大家PHP程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |