Cet article présente principalement la méthode de tri par insertion PHP pour implémenter le tri par tableau. Il analyse les principes et les techniques de mise en œuvre spécifiques de la méthode de tri par insertion avec des exemples. Il a une certaine valeur de référence. Les amis dans le besoin peuvent se référer à cet article.
L'exemple décrit comment implémenter le tri de tableau à l'aide du tri par insertion PHP. L'analyse spécifique est la suivante : L'idée de base de la méthode de tri par insertion : également illustrée par un cas, toujours en utilisant $arr = array(2,6,3,9) , triés du plus grand au plus petit . Principe d'implémentation : supposons (non réellement créé) qu'il existe un tableau ordonné $arr = array(2), utilisez $arr[1]=6 pour comparer avec lui, si 6>2, par $arr [0] est replacé à la position $arr[1] et 6 est inséré dans la position $arr[0]. Ensuite, $arr[2]=3 est comparé à $arr[1]=2, 3>2, puis $arr[1]=2 continue de se déplacer vers la position $arr[2], la position $arr[3 d'origine ]=3 Insérez-le dans la position $arr[1], puis continuez à insérer 9 dans la position de fermeture. Le résultat final est (9,6,3,2). Le tri peut également être réalisé après count ($ arr) -1 grandes boucles. Analyse du modèle de code : La première grande boucle : $[1] contre $[0]La deuxième grande boucle : $[2] contre $[1 ] ; ratio, le ratio de $[1] et $[0] ;
Le troisième grand cycle : le ratio de $[3] et $[2], le ratio de $[2] et $[1], le ratio de $[1] et $[0] ;
<?php function insertSort(&$arr){ for($i=1;$i<count($arr);$i++){ //$insertVal是准备插入的数 for($j=$i;$j>0;$j--){ if($arr[$j]>$arr[$j-1]){ $insertVal = $arr[$j]; $arr[$j] = $arr[$j-1]; $arr[$j-1] = $insertVal; } } } } $myarr = array(2,6,3,9); insertSort($myarr); echo "<pre class="brush:php;toolbar:false">"; print_r($myarr); ?>
$j=1 Exécuter le rapport de 6 et 2 : $arr[1]=2;$arr[0]=6 , obtenez (6 ,2,3,9)
$j=2 Exécuter Rapport 3 et 2 : devient $arr[2]=2, $arr[1]=3, et obtient (6,3,2,9)
$j--,$j=1 Exécuter $arr[1 ] et $arr[0] ratio : La condition n'est pas vraie
$j =3 Exécuter le rapport 9 et 2 : devenir $arr[3]=2,$arr[2]=9, obtenir (6,3,9,2)
$j--,$j=2 Exécuter 9 et 3 ratio : changement Cela devient $arr[2]=3, $arr[1]=9, et nous obtenons (6,9,3,2)
$j--,$j=1 Exécutez le ratio. de 9 et 6 : cela devient $arr[ 1]=5,$arr[0]=9, get (9,6,3,2)
Résumé : Ce qui précède est J'espère que tout le contenu de cet article pourra être utile à tout le monde.
Recommandations associées :Comment envoyer des e-mails via le formulaire d'opération php
php utilise le formulaire de vérification pour détecter si le champ est vide
Comment ajouter des espaces à chaque paragraphe en 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!