Maison > développement back-end > tutoriel php > Guide pour écrire un algorithme de tri personnalisé pour les tableaux PHP

Guide pour écrire un algorithme de tri personnalisé pour les tableaux PHP

WBOY
Libérer: 2024-04-27 18:12:01
original
591 Les gens l'ont consulté

Comment écrire un algorithme de tri de tableaux PHP personnalisé ? Tri à bulles : trie un tableau en comparant et en échangeant des éléments adjacents. Tri par sélection : sélectionnez à chaque fois l'élément le plus petit ou le plus grand et échangez-le avec la position actuelle. Tri par insertion : insérez des éléments dans une pièce ordonnée un par un.

PHP 数组自定义排序算法的编写指南

Guide d'écriture d'un algorithme de tri personnalisé pour les tableaux PHP

Introduction
Le tri des tableaux est une tâche courante en programmation qui nous permet de réorganiser les éléments d'un tableau en fonction de critères spécifiques. PHP fournit une variété d'algorithmes de tri intégrés, mais nous devons parfois trier les tableaux en fonction d'une logique personnalisée, ce qui nous oblige à écrire notre propre algorithme de tri personnalisé.

Tri à bulles
Le tri à bulles est un algorithme de tri simple qui trie un tableau en comparant à plusieurs reprises les éléments adjacents et en échangeant leurs positions.

function bubbleSort(array &$arr) {
    $n = count($arr);
    for ($i = 0; $i < $n - 1; $i++) {
        for ($j = 0; $j < $n - $i - 1; $j++) {
            if ($arr[$j] > $arr[$j + 1]) {
                $tmp = $arr[$j];
                $arr[$j] = $arr[$j + 1];
                $arr[$j + 1] = $tmp;
            }
        }
    }
}
Copier après la connexion

Tri par sélection
Le tri par sélection est un algorithme de tri basé sur la sélection de l'élément le plus petit ou le plus grand et son échange avec sa position actuelle.

function selectionSort(array &$arr) {
    $n = count($arr);
    for ($i = 0; $i < $n - 1; $i++) {
        $min_idx = $i;
        for ($j = $i + 1; $j < $n; $j++) {
            if ($arr[$j] < $arr[$min_idx]) {
                $min_idx = $j;
            }
        }

        $tmp = $arr[$i];
        $arr[$i] = $arr[$min_idx];
        $arr[$min_idx] = $tmp;
    }
}
Copier après la connexion

Tri par insertion
Le tri par insertion est un algorithme de tri basé sur l'insertion d'éléments dans une partie ordonnée un par un.

function insertionSort(array &$arr) {
    $n = count($arr);
    for ($i = 1; $i < $n; $i++) {
        $key = $arr[$i];
        $j = $i - 1;

        while ($j >= 0 && $arr[$j] > $key) {
            $arr[$j + 1] = $arr[$j];
            $j--;
        }

        $arr[$j + 1] = $key;
    }
}
Copier après la connexion

Cas pratique
Trions le tableau PHP suivant par ordre croissant à l'aide de l'algorithme de tri à bulles :

$arr = [5, 2, 8, 3, 1];
Copier après la connexion

Appelons la fonction de tri à bulles :

bubbleSort($arr);
Copier après la connexion

Le tableau trié :

[1, 2, 3, 5, 8]
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal