冒泡排序,快速排序,选择排序,插入排序。

<?php
//冒泡排序
  function bubble($arr){
      
      for($i=0;$i<count($arr)-1;$i++){
          
          for($j=0;$j<count($arr)-$i-1;$j++){
              
              if($arr[$j]>$arr[$j+1]){
                  
                  $temp=$arr[$j];
                  $arr[$j]=$arr[$j+1];
                  $arr[$j+1]=$temp;
                  
              }
              
          }
          
      }
      
      return $arr;
      
      }
      
 $arr= array(3,5,4,2,8,4,6,8,9,4);
 var_dump(bubble($arr)); echo '<br>';
 
 //快速排序
 
 function fastpx($arr){
     
     if(count($arr)<=1) return $arr;
     
     $key=$arr[0];
     $arr_left=array();
     $arr_right=array();
     for($i=1;$i<count($arr);$i++){
         
         if($arr[$i]<=$key){
             
             $arr_left[]=$arr[$i];
         }else{
             
             $arr_right[]=$arr[$i];
         }
         
     }
     
     $arr_left=fastpx($arr_left);
     $arr_right=fastpx($arr_right);
     
     return array_merge($arr_left,array($key),$arr_right);
 }

 $arr= array(3,15,4,2,10,4,6,8,9,5);
 
 var_dump(fastpx($arr)); echo '<br>';
 
 
 //选择排序
 
 function xuanzpx($arr){
     
     for($i=0;$i<count($arr);$i++){
         
         for($j=$i+1;$j<count($arr);$j++){
             //$k=$i;
             if($arr[$i]>$arr[$j]){
                 //$k=$j;
                 //if($k!=$i){
                 $temp=$arr[$i];
                 $arr[$i]=$arr[$j];
                 $arr[$j]=$temp;
                 //}
                 
             }
             
         }
         


         
     }
     
     return $arr;
     
 }
 
   $arr= array(3,15,16,2,10,4,6,8,9,5);
 
   var_dump(xuanzpx($arr)); echo '<br>';
?>

posted @ 2017-05-30 01:01  坚持奔跑在路上  阅读(84)  评论(0)    收藏  举报