Le tri à bulles est l'un des algorithmes de tri les plus simples qui comparent deux éléments côte à côte et trie le tableau dans l'ordre croissant ou dans l'ordre descendant. De nombreux algorithmes sont disponibles pour trier les tableaux, tels que le tri de sélection et la fusion, etc. Dans cet article, nous apprendrons à utiliser le tri des bulles afin de trier les éléments du tableau.
Supposons que nous ayons un tableau non trié et on nous demande de trier le tableau dans tout ordre prévu (je.e. ascendant ou descendant). Ensuite, nous avons plusieurs algorithmes de tri, pour trier ce tableau tel que le tri de bulles, le tri d'insertion, etc. À cette fin, nous pouvons utiliser l'un de ces algorithmes, car tous les algorithmes produiront le même résultat. Cet article abordera le tri des bulles avec des exemples.
Fonctionnement du tri de bulles
Il commence à fonctionner en comparant l'index gauche à l'indice droit. Initialement, il comparera les deux premiers index du tableau (la valeur placée à l'index 0 sera comparée à la valeur placée à l'index 1). La valeur du 0e index ne sera remplacée que lorsque le 1er index comporte une valeur plus petite que la valeur du 0e index. Ensuite, il comparera la valeur de l'index 1 avec la valeur de l'index 2, et ainsi de suite.
Supposons que nous ayons le tableau non trié suivant:
Nous savons que dans l'indexation des tableaux commence à 0. Donc, initialement, à l'index 0, la valeur est 8. La valeur de l'index 1 est 3, et 1 est placée à l'index 3, et ainsi de suite. Maintenant, nous devons trier ce tableau dans l'ordre croissant comme indiqué dans le tableau donné:
Maintenant, nous expliquerons le fonctionnement de la tri à bulles étape par étape.
Étape 1:
Au début, l'index 0 transporte 8 tandis que l'index 1 transporte 3. Puisque nous devons trier le tableau par ordre croissant, donc la valeur de l'index 0 sera remplacée par la valeur de l'index 1. Maintenant, le tableau mis à jour sera:
Maintenant, la valeur de l'index 1 sera comparée à la valeur de l'index 2. La valeur de l'index 1 est 8 tandis que la valeur de l'index 2 est 1 qui est inférieure à 8, donc elle sera échangée et le tableau sera modifié comme:
Maintenant, nous allons faire une comparaison entre l'index 2 et l'index 3. La valeur de l'index 2 est 8 qui est supérieure à la valeur de l'index 3 qui est 2, donc les valeurs seront échangées:
Comparez maintenant la valeur de l'index 3 avec la valeur de l'index 4. À l'index 3, la valeur est 8 tandis que l'index 4 La valeur est -1, ce qui signifie que ces deux valeurs seront échangées:
Enfin, la valeur de l'index 4 sera comparée à la valeur de l'index 5. Encore une fois, 8 est supérieur à 7, il sera donc remplacé par 7:
Maintenant, la première itération est complète et «8» atteint sa position appropriée. Ainsi, à l'étape suivante, les comparaisons seront faites jusqu'au 4ème index puisque la valeur du dernier index est triée.
Étape 2:
Maintenant, les deux premiers indices seront comparés. La valeur du 1er index est inférieure à la valeur du 0e index, les valeurs seront donc échangées:
Ensuite, nous comparerons la valeur du 1er index avec la valeur du 2ème index. Ici, 3 est supérieur à 2, il sera donc remplacé par 2:
Nous allons maintenant comparer la valeur du 2ème index i.e. 3 avec la valeur du 3ème index qui est -1. Les valeurs seront à nouveau échangées car 3 est supérieure à -1:
La valeur du 3ème index est inférieure à la valeur du 4ème index, elle restera donc la même:
Maintenant, les deux derniers index sont triés et les valeurs sont correctement placées sur les 4e et 5e index.
Étape 3:
Maintenant dans cette itération, initialement la valeur du 0ème indice sera comparée à la valeur du 1er index. Ici, la valeur du 0e index est 1, ce qui est inférieur à la valeur du 1er index qui est 2. Donc, ces valeurs resteront les mêmes.
Ensuite, comparez les deux index suivants, ici la valeur du 1er index est supérieure à la valeur du 2e index, leurs valeurs seront donc échangées:
La valeur du 2ème index est inférieure à la valeur du 3ème index, leurs valeurs ne seront pas échangées:
Étape 4:
Comparez les deux premiers index. La valeur du 0e index est de -1, inférieure à la valeur du 1er index qui est 1 afin qu'elle soit échangée:
Ensuite, nous comparerons la valeur du 1er index avec la valeur du 2ème index. Ils sont déjà triés, donc ils resteront les mêmes:
Enfin, notre tableau est trié par ordre croissant.
Implémentation du tri des bulles en javascript
Puisque nous avons compris comment fonctionne le tri des bulles, nous allons maintenant implémenter cette logique en JavaScript à l'aide de boucles imbriquées:
fonction bubblesort (ary)Dans le code donné ci-dessus, nous avons créé un tableau nommé «ary» et lui avons attribué certaines données. Ensuite, nous avons créé une fonction nommée Bubblesort et nous y avons passé le tableau. Une variable nommée «Flag» est initialement attribuée avec une valeur «false». Ensuite, la boucle for-il est initialisée avec le 0 et il s'exécutera jusqu'à ce qu'il soit inférieur à la longueur du tableau. Les boucles à forte étendue sont utilisées pour faire une comparaison de la valeur à l'index actuel avec la valeur à l'indice adjacent, les valeurs ne seront échangées que si la valeur de l'indice actuel est supérieure à la valeur présente à son indice adjacent. La valeur du drapeau sera remplacée par vrai si une valeur est échangée pendant l'itération. Enfin, le tableau est appelé en utilisant la fonction Bubblesort. La sortie sera:
Conclusion
Le tri de bulles est un algorithme de tri de base qui échange les éléments côte à côte encore et encore jusqu'à ce qu'ils ne soient pas dans le bon ordre. Dans cet article, nous avons présenté toutes les bases et les connaissances essentielles nécessaires pour comprendre le concept du tri des bulles en JavaScript. En commençant par l'introduction qui décrivait ce qu'est le tri des bulles et comment cela fonctionne. Ensuite, nous avons pris un exemple pour comprendre le concept de tri de bulles. De plus, nous avons mis en œuvre le même exemple en JavaScript et avons discuté de son travail en détail.