12 Nous y sommes presque. Dans la prochaine itération, nous échangeons les deux premiers éléments, ce qui nous donne une liste ordonnée complète : Nous l`avons fait ! Nous avons classé une liste en utilisant le tri à bulles. Vient maintenant la partie délicate :. Le travail de développement de cet algorithme en JavaScript Comment écrire un algorithme de tri à bulles en JavaScriptOn peut écrire un algorithme de tri à bulles en JavaScript. Nous allons créer deux types de bulles : un tri normal et une optimisation d`un tri à bulles régulier Commençons par définir un Fonction JavaScript qui effectue notre tri à bulles : Cette fonction accepte un tableau de nombres et trie en utilisant l`algorithme de tri à bulles . Pour commencer, l`algorithme crée une boucle qui passe par chaque élément de la liste Notre code utilise l`attribut length du tableau pour calculer la longueur de la liste. , Nous déclarons ensuite une autre boucle. Cette boucle fait des comparaisons entre chaque élément du tableau list. Pour chaque itération de notre boucle interne, notre programme exécute une instruction if. Cette instruction if JavaScript vérifie si le nombre à gauche de une comparaison est supérieure au nombre de droite. Dans ce cas, notre programme échange les nombres. Sinon, rien ne se passe. renvoie le tableau au programme principal après les avoir triés. Appelons notre fonction et donnons dans un exemple de tableau : Nous avons déclaré Ript de variables JavaSc appelé numbersToSort qui contient les chiffres que nous voulons ordonner. Nous avons ensuite appelé notre méthode sortItems () et avons adopté cette variable comme paramètre. Cela trie notre liste. Nous imprimons la nouvelle liste ordonnée dans la console JavaScript du navigateur :. [2, 3, 9, 11] ORDERS de notre code de liste par ordre croissant. Nous pouvons modifier ce comportement en remplaçant la valeur "supérieur à" pour accéder à notre déclaration "if" par un signe "moins": Nous avons presque terminé ! Rendons notre code plus efficace en implémentant la bulle de tri avec une variable interchangée. bulle optimisée Tri bulle optimisée introduite Trier une nouvelle variable. Cette variable permet de savoir si l`échange a eu lieu. Tri stop si aucun échange ne s`est produit Pour rendre notre bulle de genre plus efficace, nous allons remplacer notre boucle externe for the par une boucle while : La boucle while sera exécutée jusqu`à ce que "swapped" soit faux. Par défaut, la valeur de "purse" est true. Dans chaque itération de notre liste, nous avons défini la valeur de "swapped" sur false. Si un échange se produit, la valeur de "swapped" renvoie true cela nous permet de savoir si un l`échange a été fait dans une itération. Si aucun échange n`a été fait, cela signifie que notre liste est triée. Dans ce cas, nous pouvons arrêter notre tri à bulles. Essayons d`utiliser ce tri à bulles : Notre code renvoie : [2, 3, 9, 11] la liste est triée. cet algorithme est plus efficace car il n`effectue pas de comparaisons inutiles. dès que la liste est trié, l`algorithme cesse de fonctionner. ConclusionLes types de bulles sont un moyen facile de trier un C comparer la liste des éléments adjacents dans une liste ou les échanger et s`ils ne sont pas dans le bon ordre. Des types plus efficaces sont disponibles tels que le tri par insertion ou le tri par fusion. Ces types sont plus avancés. Les types de bulles sont généralement le meilleur moyen de commencer à se familiariser avec les algorithmes de tri. Pour plus d`informations sur le codage en JavaScript, lisez notre Comment apprendre l`aide JavaScript . |