Tri À Bulles Javascript

| | | |

Comment écrire un sort de bulle JavaScript

Avez-vous une liste de valeurs ‚Äã‚Äãque vous devez trier ? Le tri des bulles pourrait être fait pour vous. Les tris à bulles comparent les éléments adjacents dans une liste et échangent leurs positions s`ils ne sont pas dans le bon ordre.

Dans ce guide, nous allons parler de ce que sont les bulles et de leur fonctionnement. Nous verrons comment écrire un tri à bulles en JavaScript afin que vous puissiez vous lancer rapidement dans ce genre.

Commençons !

Qu`est-ce qu`un tri à bulles JavaScript ?

Une sorte de bulle, ou "amortissement de tri", est un algorithme de tri simple, qui compare une paire d`éléments adjacents dans une liste. Si un élément n`est pas dans l`ordre, nous échangeons l`élément avec le précédent. Sinon, l`élément reste au même emplacement.

Tri Bubble tire son nom du fait qu`il fait défiler une liste et déplace toutes les valeurs les plus importantes ‚Äã‚Äãà la fin. Une autre façon de penser à cela est que les plus grandes valeurs "bouillonnent" à la fin de la liste. Les types de bulles fonctionnent à la fois dans l`ordre croissant et décroissant

Il existe deux types de types de bulles : .. Réguliers et optimisés

Les types de bulles réguliers permettent toutes les comparaisons possibles, peu importe si un tableau est trié. Les types de bulles optimisées cessent de fonctionner à la fin d`une itération si aucun échange n`a eu lieu.

Procédure JavaScript de tri par bulles

Nous allons commencer par parler du fonctionnement des tris par bulles, puis implémentez-en un en JavaScript. Considérez la liste d`éléments suivante :

9 3 2 11

Pour commencer notre genre , nous comparerons les premier et deuxième nombres. Si le premier nombre est supérieur au deuxième nombre, nous échangeons les éléments. Sinon, les éléments restent à la même position

9 est supérieur supérieur à 3 pour que les positions des deux premiers éléments permutent :

3 < / td> 9 12 2

Ce le processus continue jusqu`à ce que tous les éléments de la liste soient comparés.

9 ne dépasse pas 12, donc ces éléments restent au même endroit. 12 est supérieur à 2, donc ces éléments s`échangent :

< table class = "wp-bloc en table-info table">
3 9 2 12

Notre liste commence à apparaître nettoyeur. Notre algorithme a répété la liste une fois. Il continuera à le faire jusqu`à ce que nous commandions chaque article. Dans l`itération suivante, notre programme effectue les comparaisons suivantes :

  • 3 est-il supérieur à 9 ? Non, rien ne se passe.
  • 9 est supérieur à 2 ? Oui, donc les éléments s`échangent.
  • 9 est supérieur à 12 ? Non, rien ne se passe.

Après cette itération, notre liste ressemble à ceci :.

< tr>
3 2 9 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 JavaScript

On 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.

Conclusion

Les 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 .

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method