• PHP冒泡排序与快速排序


    1、冒泡排序

      function sort($arr)
        {
            // 第一层可以理解为从数组中键为0开始循环到最后一个
            for ($i = 0; $i < count($arr); $i++) {
                for ($j = $i + 1; $j < count($arr); $j++) {// 第二层为从$i+1的地方循环到数组最后
                    if ($arr[$i] > $arr[$j]) {// 比较数组中两个相邻值的大小
                        $tem = $arr[$i]; // 这里临时变量,存贮$i的值
                        $arr[$i] = $arr[$j]; // 第一次更换位置
                        $arr[$j] = $tem; // 完成位置互换
                    }
                }
            }
        }
    

    2、快排

        function quick_sort($array)
        {
    
            if (count($array) <= 1) return $array;
    
            $key = $array[0];
    
            $left_arr = array();
    
            $right_arr = array();
    
            for ($i = 1; $i < count($array); $i++) {
    
                if ($array[$i] <= $key)
    
                    $left_arr[] = $array[$i];
    
                else
    
                    $right_arr[] = $array[$i];
    
            }
    
            $left_arr = $this->quick_sort($left_arr);
    
            $right_arr = $this->quick_sort($right_arr);
    
            return array_merge($left_arr, array($key), $right_arr);
    
        }
    

      

  • 相关阅读:
    Java 执行
    Java 反射
    Mysql 日常
    Java 引用
    Mysql insert on update
    Java Mail 异常
    HDU_5456_数位dp
    HDU_4734_数位dp
    POJ_1221_DP
    POJ_1050_最大子矩阵
  • 原文地址:https://www.cnblogs.com/beiman/p/11684250.html
Copyright © 2020-2023  润新知