Comment implémenter le tri par sélection en PHP ?

藏色散人
Libérer: 2023-04-05 14:14:01
original
3075 Les gens l'ont consulté

Le tri par sélection est une amélioration du tri à bulles, avec un seul échange de passe par passage dans la liste. En termes simples, le principe du tri par sélection est de sélectionner à chaque fois l'élément le plus petit (ou le plus grand) parmi les éléments de données à trier et de le stocker au début de la séquence jusqu'à ce que tous les éléments de données à trier soient disposés. Le tri par sélection est une méthode de tri instable.

Comment implémenter le tri par sélection en PHP ?

L'exemple de code du tri par sélection PHP est le suivant :

<?php

function selection_sort($data)
{
    for($i=0; $i<count($data)-1; $i++) {
        $min = $i;
        for($j=$i+1; $j<count($data); $j++) {
            if ($data[$j]<$data[$min]) {
                $min = $j;
            }
        }
        $data = swap_positions($data, $i, $min);
    }
    return $data;
}

function swap_positions($data1, $left, $right) {
    $backup_old_data_right_value = $data1[$right];
    $data1[$right] = $data1[$left];
    $data1[$left] = $backup_old_data_right_value;
    return $data1;
}
$my_array = array(3, 0, 2, 5, -1, 4, 1);
echo "原始数组:\n";
echo implode(&#39;, &#39;,$my_array );
echo "\n排序后数组:\n";
echo implode(&#39;, &#39;,selection_sort($my_array)). PHP_EOL;
Copier après la connexion

Sortie :

原始数组: 3, 0, 2, 5, -1, 4, 1 
排序后数组: -1, 0, 1, 2, 3, 4, 5
Copier après la connexion

Ceci L'article concerne la méthode d'implémentation du tri de sélection PHP, j'espère que cela sera utile aux amis dans le besoin !

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!