Maison >programmation quotidienne >Connaissance PHP >Analyse détaillée du tri à bulles

Analyse détaillée du tri à bulles

**熬夜选手
**熬夜选手original
2020-05-01 15:42:30393parcourir

Tri à bulles

Pour les amis qui débutent en programmation et en algorithmes, l'algorithme de tri peut ne pas être clair. Ensuite, nous analyserons. tri des bulles.

Quel est le principe du tri à bulles ?

Parcours d'un tableau, au cours duquel les valeurs de deux cellules adjacentes sont comparées : si la première est plus grande que la seconde, les deux valeurs sont interverties. A la fin de ce processus, la valeur maximale du tableau doit être placée en dernière position.

Si le processus ci-dessus est effectué à nouveau, il peut être déterminé que la valeur maximale dans les données restantes est placée à l'avant-dernière position.

Reprenez ensuite le processus ci-dessus et vous pourrez continuer à déterminer que la valeur maximale dans les données restantes est placée à l'avant-dernière position.

Et ainsi de suite. . . . .

Image :

tbody>
Tableau d'origine
原始数组
18 22 12
15 23 9
第一趟 18
22 12 15 9 23
第二趟 18 22 12 9 15 23
第三趟  18 22 9 12 15 23
第四趟 18 9 12 15 22 23
第五趟 9 12 15 18 22 23
18 22 12

15 23 9
Premier voyage 18
22 12 15 9 23
Deuxième voyage 18 22 12 9 15; 23
Le troisième voyage 18 22 9 12 15 23
Le quatrième voyage 18 9 td> 12 15 22 23
Le cinquième voyage 9 12 15 18 22 23

Démonstration du code :

$arr1 = array(18,22,12,15,23,9);
    $n = count($arr1);
    //控制要进行的躺数
    for($i = 0;$i < $n-1;$i++){
        //在每一趟里面,控制进行比较的次数
        for($k = 0;$k < $n-1-$i;$k++){
            if ($arr1[$k] > $arr1[$k+1]) {
                $temp = $arr1[$k];
                $arr1[$k] = $arr1[$k+1];
                $arr1[$k+1] = $temp;
            }
        }
    }

Enfin, résumons les règles :

1. Le nombre de fois pour comparer les paires et échanger les positions à la fin est $n-1 fois, $n est le nombre total (longueur du tableau)

À chaque fois, la taille adjacente est comparée. des deux données et échanger leurs positions si nécessaire !

3. Le nombre de comparaisons pour chaque voyage est de un de moins que le voyage précédent. Le nombre de comparaisons pour le premier voyage est de : $n-1.

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