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 :
Tableau d'origine
|
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!