zoukankan      html  css  js  c++  java
  • PHP自己写的排序方法

     1 <?php
     2 
     3 $arr = array(5,2,6,1,0,3);
     4 
     5 $len = count($arr);
     6 
     7 
     8 /*/冒泡法排序写法
     9 for($x=0;$x<$len-1;$x++){
    10     for($y=0;$y<$len-$x-1;$y++){
    11         if($arr[$y]<$arr[$y+1]){
    12             $tmp = $arr[$y];
    13             $arr[$y] = $arr[$y+1];
    14             $arr[$y+1] = $tmp;
    15         }
    16     }
    17 }
    18 */
    19 
    20 
    21 //选择排序
    22 for($i=0;$i<$len-1;$i++){
    23     for($j=$i+1;$j<$len;$j++){
    24         if($arr[$i]>$arr[$j]){
    25             $tmp = $arr[$i];
    26             $arr[$i] = $arr[$j];
    27             $arr[$j] = $tmp;
    28         }
    29     }
    30 }
    31 
    32 
    33 
    34 
    35 print_r($arr);
    $arr = array(20,11,18,33,17,32,15,22,13,25,36,16,66);
    
    function qSort($arr){
        if(!is_array($arr) || empty($arr)) return array();
    
        # 获取数组的长度
        $len = count($arr);
    
        # 如果数组中有一个元素,直接返回这个数组
        if($len<=1) return $arr;
    
        $key   = $arr[0];
        $left  = array();
        $right = array();
    
        for($i=1;$i<$len;$i++){
            if($arr[$i]<=$key){
                $left[] = $arr[$i];
            }else{
                $right[] = $arr[$i];
            }
        }
        $left = qSort($left);
        $right = qSort($right);
        return array_merge($left,array($key),$right);
    }
    echo '<pre>';
    print_r(qSort($arr));
  • 相关阅读:
    第七周作业
    第六周作业
    第五周作业
    第四周作业
    第三周作业
    第二周作业
    第一周作业
    训练神经网络的一些经验分享
    Latex 安装 教程
    关于python环境的一切注意事项
  • 原文地址:https://www.cnblogs.com/ahwu/p/3025519.html
Copyright © 2011-2022 走看看