Maison >développement back-end >Problème PHP >Comment implémenter un algorithme de tri à bulles en php

Comment implémenter un algorithme de tri à bulles en php

王林
王林original
2021-09-26 16:21:5114788parcourir

Comment implémenter l'algorithme de tri à bulles en php : [for ($i=0; $i

Comment implémenter un algorithme de tri à bulles en php

L'environnement d'exploitation de cet article : système Windows10, php 7, ordinateur thinkpad t480.

L'implémentation spécifique est donné Avant le code, introduisons brièvement le tri à bulles.

Le tri à bulles est un algorithme de tri relativement simple. Il visite à plusieurs reprises la colonne d'éléments à trier et compare deux éléments adjacents à la fois si l'ordre est grand. trop petit, la première lettre de A à Z) est fausse, le travail de visite des éléments est répété jusqu'à ce qu'il n'y ait plus d'éléments adjacents à échanger, ce qui signifie que les éléments ont été triés

Ensuite, regardons. le principe du tri à bulles :

Comparez les éléments adjacents. Si le premier est plus grand que le second, échangez-les tous les deux.

Faites la même chose pour chaque paire d'éléments adjacents, en commençant par le début. paire à la fin. À ce stade, le dernier élément doit être le plus grand nombre.

Répétez les étapes ci-dessus pour tous les éléments sauf le dernier.

Continuez avec de moins en moins de paires. paire de nombres à comparer.

Enfin, jetons un coup d'œil au code d'implémentation spécifique :

<?php
$arr = array(&#39;5&#39;,&#39;2&#39;,&#39;0&#39;,&#39;1&#39;,&#39;3&#39;,&#39;1&#39;,&#39;4&#39;);
 
function BubbleSort(array $arr)
{
 
	for ($i=0 ; $i <count($arr) ; $i++) { 
		//设置一个空变量
		$data = &#39;&#39;;
		for ($j=$i ; $j < count($arr)-1 ; $j++) { 
			if ($arr[$i] > $arr[$j+1]) {
 
				$data      = $arr[$i]; 
				$arr[$i]   = $arr[$j+1];
				$arr[$j+1] = $data; 
			}
		}
	}
 
	return $arr;
}
echo "<pre class="brush:php;toolbar:false">";
print_r(BubbleSort($arr));

Apprentissage recommandé : Formation 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!

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