- 论坛徽章:
- 59
|
本帖最后由 renxiao2003 于 2010-09-21 16:46 编辑
4:使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组
冒泡算法实现- <?php
- //冒泡排序(一维数组)
- function bubble_sort($arr){
- $count = count($arr);
- if ($count <= 0) return false;
- for($i=0; $i<$count; $i++){
- for($j=$count-1; $j>$i; $j--){
- if ($arr[$j] < $arr[$j-1]){
- $tmp = $arr[$j];
- $arr[$j] = $arr[$j-1];
- $arr[$j-1] = $tmp;
- }
- }
- }
- return $arr;
- }
- //使用实例
- $_array = array('5', '8' ,'5' ,'6' ,'9' ,'3' ,'2' ,'4');
- $_array = bubble_sort($_array);
- print_r ($_array);
- ?>
复制代码 快速排序算法- <?php
- function quick_sort($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=quick_sort($left_arr);
- $right_arr=quick_sort($right_arr);
- return array_merge($left_arr,array($key),$right_arr);
- }
- //使用实例
- $_array = array('5', '8' ,'5' ,'6' ,'9' ,'3' ,'2' ,'4');
- $_array = quick_sort($_array);
- print_r ($_array);
- ?>
复制代码 |
|