Taille de bulles en javascript

Taille de bulles en javascript
Supposons que nous ayons un tableau non trié et on nous demande de trier le tableau dans toute commande ascendante ou décroissante. 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. 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.

Fonctionnement du tri de bulles

Supposons que nous voulons trier notre tableau en ordre ascendant. Il commence à fonctionner en comparant l'index gauche à l'indice droit. Initialement, il comparera les valeurs des deux premiers index du tableau. 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. Si initialement, "8" est stocké au 0ème index, "3" est stocké au premier index, "1" est stocké au deuxième index, 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 de 2e et 3ème index i.e. 3 (à 2ème index) 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 déjà 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 qui est déjà inférieure à 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 2e index est déjà 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 1, ce qui est inférieur à la valeur du 1er index (-1), donc il sera échangé:

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:

functionbubblesort (ary)
Leti, J;
varflag = false;
pour (i = 0; i
Flag = false;
pour (j = 0; jary [J + 1])

vartemp = ary [j]
ary [j] = ary [J + 1];
ary [j + 1] = temp;
Flag = true;


si(!drapeau)

casser;


console.journal (ary)

Varary = [8, 3, 1, 2, -1, 7];
Bubblesort (ary);

Dans le code ci-dessus, nous avons créé un tableau nommé 'Ary' et lui a attribué certaines données. Ensuite, nous avons créé une fonction nommée bubblesort Et nous y avons passé le tableau. Une variable nommée 'drapeau' est initialement attribué avec une valeur 'FAUX'. Ce drapeau sera utilisé pour vérifier si le tableau est complètement trié ou non. 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.

For-boucle imbriquée est utilisée 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 True si une valeur est échangée pendant l'itération.

Une fois la boucle intérieure terminée, la variable de drapeau est vérifiée. Si la variable de drapeau reste fausse, cela signifie que le tableau est déjà trié et que la boucle intérieure n'a rien changé. Dans un tel cas, cassez simplement la boucle.

Enfin, le tableau est transmis au bubblesort () fonction. 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.