zoukankan      html  css  js  c++  java
  • 快速排序-PHP

    
    
    $arr = array(4,2,5,1,3);
    // 快速排序
    function quickSort($arr) {
        $len = count($arr);
        if ($len <= 1) { // 是否继续进行
            return $arr;
        }
        $mid = $arr[0]; // 以第一个元素为基准
        $leftArray = $rightArray = []; // 初始化
        for ($i=1; $i<$len; $i++) { // 便利所有元素
            if ($arr[$i] < $mid) { // 若当前元素小于基准元素则放在左边,否则放右边
                $leftArray[] = $arr[$i];
            } else {
                $rightArray[] = $arr[$i];
            }
        }
        $leftArray = quickSort($leftArray); // 左侧数组递归循环
        $rightArray = quickSort($rightArray); // 右侧数组递归循环
    
        return array_merge($leftArray, array($mid), $rightArray); //合并
    }
    $res = quickSort($arr);
    print_r($res);

    打印结果:

    Array
    (
      [0] => 1
      [1] => 2
      [2] => 3
      [3] => 4
      [4] => 5
    )

  • 相关阅读:
    委托-张子扬博客
    委托-雾中人博客
    委托基础
    C# 字典
    相机标定目的<3>
    相机标定程序详解<2>
    相机标定 <1>
    Opencv 几何变换<9>
    Opencv ROI<8>
    Opencv 通道分离合并<7>
  • 原文地址:https://www.cnblogs.com/blue-t/p/14563208.html
Copyright © 2011-2022 走看看