PHP的快速排序
基本思想是:取一个值与其他值进行比较,小的放在这个值的左边,大的放在这个值的右边,然后按照这个方式递归。转自PHP面试题: a href=http://phpmst.com/ rel=nofollowhttp://phpmst.com//a br /
基本思想是:取一个值与其他值进行比较,小的放在这个值的左边,大的放在这个值的右边,然后按照这个方式递归。转自PHP面试题:
http://phpmst.com/
<?php function quicksort($str){ if(count($str)<=1) return $str;//如果个数不大于一,直接返回 $key=$str[0];//取一个值,稍后用来比较; $left_arr=array(); $right_arr=array(); for($i=1;$i<count($str);$i++){//比$key大的放在右边,小的放在左边; if($str[$i]<=$key) $left_arr[]=$str[$i]; else $right_arr[]=$str[$i]; } $left_arr=quicksort($left_arr);//进行递归; $right_arr=quicksort($right_arr); return array_merge($left_arr,array($key),$right_arr);//将左中右的值合并成一个数组; }//以下是测试 $str=array(5,3,8,2,5,9,7,2,1,4,0); print_r(quicksort($str)); ?>
- 上一篇:PHP的简易冒泡法
- 下一篇:3种方法,统计字符串中每种字符的个数并排序
精彩图集
精彩文章