php 冒泡法和快速排序法

冒泡排序法:

<?php
      $arr=array(23,12,25,16,11,6,72,25,9,17);
      $len=count($arr);
      for($i=0;$i<$len-1;$i++)
        {
           for($k=0;$k<$len-$i-1;$k++)
              {
                  if ($arr[$k]>$arr[$k+1])

                   {
                      $temp=$arr[$k+1];
                      $arr[$k+1]=$arr[$k];
                      $arr[$k]=$temp;
                   }
           }
      }
     print_r($arr) ;
?>

 

快速排序法:

<?php
       $str=array(23,12,25,16,11,6,72,24,9,17);
       function quicksort($str){
            $len=count($str);
            if($len<=1) return $str;
            $key=$str[0];
            $left=array();
            $right=array();
            for($i=1;$i<$len;$i++){//比$key大的放在右边,小的放在左边;
                 if($str[$i]<=$key)
                        $left[]=$str[$i];
                else
                       $right[]=$str[$i];
                 }
           $left=quicksort($left);//进行递归;
           $right=quicksort($right);
           return array_merge($left,array($key),$right);//将左中右的值合并成一个数组;
     }
   print_r(quicksort($str));
?>

posted on 2014-12-30 18:06  Iitb  阅读(118)  评论(0)    收藏  举报

导航