php快速排序法
时间:2015-05-27 阅读:次 QQ群:182913345
快速排序实现原理:采用分治的思想,先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。
<?php function quickSort($arr){ //快速排序法,冒泡排序的一种改进。更快速高效。 if(count($arr)<=1){ return $arr; } //直接返回 $key=$arr[0]; //中间比较值 $left_arr=array(); $right_arr=array(); for($i=1;$i<count($arr);$i++){ if($arr[$i]<$key){ $left_arr[]=$arr[$i]; //小于比较值 }else{ $right_arr[]=$arr[$i]; } } $left_arr=quickSort($left_arr); //递归左数组 $right_arr=quickSort($right_arr); //递归右数组 $arr=array_merge($left_arr,array($key),$right_arr); //组成排序后的数组并返回 return $arr; } $arr=array(56,35,82,21,55,91,72,28,12,49,60); print_r(quicksort($arr));
上一篇:没有了