Maison  >  Article  >  développement back-end  >  Tri à bulles en PHP

Tri à bulles en PHP

PHPz
PHPzoriginal
2024-08-29 13:10:27963parcourir

Le tri à bulles en PHP est un type de technique/algorithme de tri simple qui comporte des étapes répétées consistant à comparer chaque paire d'éléments adjacents et à les échanger également uniquement s'ils sont dans le mauvais ordre, tout comme nous n'y sommes pas obligés. Ce type est également appelé type coulant. Le passage des éléments est répété jusqu'à ce qu'il n'y ait plus d'échange requis/nécessaire, ce qui signifie que la liste est maintenant triée. Cette technique/algorithme de tri est un tri par comparaison avec les éléments/nombres plus petits appelés « bulle/bulles ».

PUBLICITÉ Cours populaire dans cette catégorie DEVELOPPEUR PHP - Spécialisation | Série de 8 cours | 3 tests simulés

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Logique derrière le tri à bulles en PHP

Le tri à bulles fonctionne en échangeant les éléments adjacents à plusieurs reprises uniquement si les éléments sont dans le mauvais ordre. Bubble Sort compare d’abord le deuxième élément avec le premier élément. Si la première valeur d’élément/index est supérieure à la seconde alors l’échange des éléments sera effectué. Sinon, l'échange ne sera pas effectué. Si le premier élément du tableau est supérieur au second, l'échange des éléments sera effectué. Désormais, le 1er élément devient le 2ème élément et vice versa. Maintenant, l'élément échangé est à nouveau comparé au 3rd élément et ainsi de suite et si la condition est atteinte, l'échange sera effectué à tout moment jusqu'à la fin des éléments du tableau. Maintenant, le scénario ci-dessus se produit en exécutant la boucle comme longueur du tableau/taille du tableau qui est transmise à l'intérieur du programme.

Comment fonctionne le tri à bulles en PHP ?

Il existe différents types d'implémentations des techniques de tri à bulles dans le langage de programmation PHP. La première consiste à utiliser la BOUCLE FOR, la seconde à utiliser la BOUCLE WHILE et la troisième à utiliser la BOUCLE DO WHILE. Dans chaque programme, la logique sera la même mais la syntaxe sera un peu différente.

Exemples d'implémentation du tri à bulles en PHP

Voici les différents exemples pour implémenter Bubble Sort en PHP :

Exemple n°1 – Utilisation de la boucle for

Dans l'exemple ci-dessous, le tri à bulles est implémenté à l'aide de la méthode FOR LOOP. Dans un premier temps, la taille du tableau est calculée et stockée, puis démarre une boucle, puis à nouveau une boucle démarrée à l'intérieur de la boucle. Ensuite, les valeurs du tableau adjacent sont comparées. Si l'index du tableau de valeur 0 est supérieur à l'index du tableau de valeur 1, alors 1 valeur d'index sera stockée dans la valeur d'index 0. La valeur d'index 0 sera stockée à la valeur d'index 1. Ensuite, le tableau est mentionné avec certains éléments à l'intérieur de la fonction elle-même et encore une fois, une boucle FOR est créée pour appeler les valeurs du tableau triées. Comme ça, nous obtiendrons les éléments triés du tableau.

Code :

<?php
function bubbleSort1(&$arr1)
{
$n1 = sizeof($arr1);
for($i1 = 0; $i1 < $n1; $i1++)
{
for ($j1 = 0; $j1 < $n1 - $i1 - 1; $j1++)
{
if ($arr1[$j1] > $arr1[$j1+1])
{
$t1 = $arr1[$j1];
$arr1[$j1] = $arr1[$j1+1];
$arr1[$j1+1] = $t1;
}
}
}
}
$arr1 = array(64, 32, 34, 26, 25, 43, 12, 68, 22, 90, 11);
$len1 = sizeof($arr1);
bubbleSort1($arr1);
echo "Sorted array : \n";
for ($i1 = 0; $i1 < $len1; $i1++)
echo $arr1[$i1]." ";
?>

Sortie :

Tri à bulles en PHP

Exemple n°2 – Utilisation de la boucle WHILE

Dans l'exemple ci-dessous, une variable de tableau est créée et répertoriée sur les éléments. Ensuite, la taille est calculée et stockée dans $len12. Ensuite, une boucle est créée dans un premier temps pour afficher les éléments réels présents dans le tableau en utilisant la longueur du tableau comme condition de boucle. Ensuite, une variable est créée pour stocker les éléments du tableau triés en appelant la fonction à l'intérieur de la variable. Ensuite, une fonction normale est créée. À l'intérieur de la fonction, WHILE LOOP est utilisé pour implémenter le tri à bulles en PHP en échangeant les éléments adjacents. Mais ici seul l'échange ne sera effectué que si le 2nd élément du tableau est inférieur au 1st élément.

Code :

<?php
$arr2 = array(7, 22, 33, 99, 6, 55, 11, 2, 3, 88, 4);
echo "Original Array Elements :: ";
echo "<br>";
$len12 = sizeof($arr2);
for ($z1 = 0; $z1 < $len12; $z1++)
echo $arr2[$z1]." ";
echo "<hr>";
echo "<br>Sorted array with index values :: \n<br>";
$sortedArr2 = bubbleSort($arr2);
var_dump($sortedArr2);
echo "<hr>";
function bubbleSort(array $arr2) {
$sorted2 = false;
while (false === $sorted2) {
$sorted2 = true;
for ($i2 = 0; $i2 < count($arr2)-1; ++$i2) {
$current2 = $arr2[$i2];
$next2 = $arr2[$i2+1];
if ($next2 < $current2) {
$arr2[$i2] = $next2;
$arr2[$i2+1] = $current2;
$sorted2 = false;
}
}
}
return $arr2;
}
echo "<br> Sorted Array Elements List :: ";
$len12 = sizeof($sortedArr2);
for ($z1 = 0; $z1 < $len12; $z1++)
echo $sortedArr2[$z1]." ";
echo "<br>";
echo "<hr>";
?>

Sortie :

Tri à bulles en PHP

Exemple n°3 – Utilisation de la boucle DO WHILE

Dans le programme ci-dessous, une fonction est créée et une boucle DO WHILE est également implémentée pour implémenter la technique Bubble Sort. Ici, une variable a été créée avec une valeur fausse au début. Ensuite, une FOR LOOP est créée pour exécuter les éléments du tableau. À l'intérieur de la boucle, une condition IF est créée pour vérifier si array1[0] est supérieur à la valeur array1[1]. Si oui, les valeurs de l'index seront échangées. Ensuite, la valeur échangée est vérifiée dans la condition while et exécute à nouveau la boucle DO WHILE. De même, le processus continue et imprime les éléments du tableau de manière triée en utilisant la technique de tri à bulles.

Code :

<?php
function bubble_Sort1($my_array1 )
{
do
{
$swapped1 = false;
for( $i1 = 0, $c1 = count( $my_array1 ) - 1; $i1 < $c1; $i1++ )
{
if( $my_array1[$i1] > $my_array1[$i1 + 1] )
{
list( $my_array1[$i1 + 1], $my_array1[$i1] ) =
array( $my_array1[$i1], $my_array1[$i1 + 1] );
$swapped1 = true;
}
}
}
while( $swapped1 );
return $my_array1;
}
$test_array1 = array(3, 21, 0, -6, 2, 45, 5, 4, -1, 8, 4, 23, 1);
echo "Original Array as mentioned in the Program :\n";
echo implode(', ',$test_array1 );
echo "<br>";
echo "\nSorted Array of the above list\n:";
echo implode(', ',bubble_Sort1($test_array1)). PHP_EOL;
echo "<br>";
?>

Sortie :

Tri à bulles en PHP

Conclusion

J'espère que vous avez appris quelle est la définition du tri à bulles en PHP, la logique derrière le tri à bulles en PHP et comment implémenter le tri à bulles en PHP en utilisant les différentes méthodes.

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
Article précédent:Version PrestaShopArticle suivant:Version PrestaShop