网站首页 mysql技术
快速算法
发布时间:1970-01-01 00:00查看次数:2731
快速排序原理 以及实现步骤
12:53:52
假定要对 3 55 66 78 22 19
快速是将数组 拆分成2个数组 类似于MYSQL分裂树
第一步
统计数组有多少个单元,并且设置跳出单元
第二步
设置一个参考值
第三步
对数组进行 左右树分组
第四步
对左右树进行递归排序
第五步
将排序好的 左右树合并返回
实例如下
//函数作用就是对数字进行快速排序 返回从低到高的数组
function kspx($list){
$len = count($list);
// 1. 先检测跳出条件 就是数组小于等于 1就不遍历了
if($len<=1){
return $list;
}
//2. 设置一个参考源 数组的0号单元为参考源
$cankao = $list[0];
$samil = $big =array();
//3. 分割数组
for($k = 1;$k< $len; $k++){
//如果数组的第键小于参考值 就分到samil数组里
//大于参考值 就分到big数组里边
if($list[$k]<$cankao){
$samil[] =$list[$k];
}else{
$big[] =$list[$k];
}
}
//4.数组分割完成 继续对两边的数组便利
$samil_list = kspx($samil);
$big_list = kspx($big);
//5.把排序好的数组合并起来
return array_merge($samil_list,array($cankao),$big_list);
}
关键字词:快速算法