Maison  >  Article  >  développement back-end  >  Tri rapide à l'aide de fonctions de tableau en PHP

Tri rapide à l'aide de fonctions de tableau en PHP

王林
王林original
2023-06-16 08:54:10778parcourir

PHP est un langage de programmation très populaire et largement utilisé pour le développement Web. En PHP, le tableau est un type de données très courant et une structure de données très puissante. Pour cette raison, PHP fournit de nombreuses fonctions de tableau pour aider les développeurs à gérer et manipuler les tableaux. Cela inclut la fonction de tri rapide, qui nous aide à trier rapidement les tableaux.

Le tri rapide est un algorithme de tri courant. Son idée de base est de diviser un tableau en deux sous-tableaux, l'un plus petit que l'autre, par comparaison et échange, puis de trier chaque sous-tableau de manière récursive. Ce processus se poursuit jusqu'à ce que la taille du sous-tableau atteigne 1, moment auquel l'ensemble du tableau est trié.

En PHP, nous pouvons utiliser la fonction sort() pour trier le tableau. La fonction sort() est une fonction très pratique et pratique, mais son algorithme de tri n'est pas un algorithme de tri rapide. Si nous voulons trier un tableau à l’aide d’un algorithme de tri rapide, en PHP, nous pouvons utiliser la fonction usort(). La fonction

usort() peut nous aider à trier le tableau d'une manière spécifiée. Il accepte deux paramètres : l'un est le tableau à trier et l'autre est une fonction de rappel utilisée pour comparer les éléments. Cette fonction de rappel doit accepter deux paramètres, comparer leurs tailles et renvoyer un résultat de comparaison (égal, inférieur ou supérieur). La fonction usort() trie le tableau en fonction de ce résultat de comparaison.

Voici un exemple d'utilisation de la fonction usort() pour un tri rapide :

<?php

function quickSort($arr) {
    if(count($arr) <= 1) {
        return $arr;
    }
    $pivot = $arr[0];
    $left = $right = array();
    for($i = 1; $i < count($arr); $i++) {
        if($arr[$i] < $pivot) {
            $left[] = $arr[$i];
        } else {
            $right[] = $arr[$i];
        }
    }
    return array_merge(quickSort($left), array($pivot), quickSort($right));
}

$arr = array(5, 1, 4, 2, 8);
$arr = quickSort($arr);
print_r($arr);

?>

Dans cet exemple, nous définissons une fonction appelée quickSort(), qui accepte un tableau comme paramètre et renvoie un tableau qui a été trié. Si la taille du tableau est de 1 ou moins, la fonction ne récurera pas vers le bas, mais renverra le tableau d'origine. Sinon, la fonction sélectionne le premier élément du tableau comme élément pivot (c'est-à-dire pivot), puis divise le tableau en deux sous-tableaux : un plus petit que l'élément pivot et un autre plus grand que l'élément pivot. Continuez ensuite ce processus récursif jusqu'à ce que la taille du sous-tableau soit égale ou inférieure à 1, en fusionnant tous les sous-tableaux dans un tableau trié.

Enfin, nous appelons cette fonction quickSort() et imprimons le résultat. La sortie doit être un tableau classé du petit au grand : array(1, 2, 4, 5, 8).

En résumé, il est très pratique d'utiliser des fonctions de tableau pour un tri rapide en PHP. Il suffit de définir une fonction de rappel qui compare la taille des éléments et de la transmettre à la fonction usort(). Cette fonction nous aidera à trier les tableaux rapidement et facilement et constitue un outil indispensable pour les développeurs PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn