Orden rápido de algoritmo (implementado por código PHP)

Principio de clasificación rápida

Sea perezoso, solo consulte el siguiente artículo para conocer el principio. Aquí solo escribo el método de implementación de php. En pocas palabras, seleccione un elemento de referencia para comparar con todos los datos. Coloque el elemento más pequeño a la izquierda y el elemento más grande a la derecha. Luego, ordena recursivamente los elementos izquierdo y derecho.
Portal: https://www.sohu.com/a/246785807_684445

Implementación de código PHP

    /**
     * 快速排序
     * @param $arr
     * @return mixed
     */
    public function quickSort($arr)
    {
    
    
        $length = count($arr);

        // 当数组只剩一个元素的时候不再迭代排序
        if ($length<=1) {
    
    
            return $arr;
        }

        // 循环数组跟基准数据作比较,比基础数据小的放左边,大的放右边
        $first = $arr[0]; //选出一个标准数据,一般选第一个或者最后一个
        $left = array(); //比标准数据小的元素放标准数据左边
        $right = array(); //比标准数据大的元素放标准数据右边
        for ($i=1;$i<$length;$i++) {
    
    
            if ($arr[$i] < $first) {
    
    
                $left[] = $arr[$i];
            } else {
    
    
                $right[] = $arr[$i];
            }
        }

        $left = $this->quickSort($left);// 递归左边数组排序
        $right = $this->quickSort($right);// 递归右边数组排序

        return array_merge($left, array($first), $right);// 合并左边数据,基准数据,右边数据
    }

Supongo que te gusta

Origin blog.csdn.net/magentodaddy/article/details/108618367
Recomendado
Clasificación