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 .

Nous espérons que cet article vous a aidé à résoudre le problème. Outre Tri À Bulles Javascript, consultez d'autres sujets liés à insert.

Vous voulez exceller en Python? Consultez notre examen des meilleurs cours en ligne Python 2022. Si vous êtes intéressé par la science des données, découvrez également comment apprendre la programmation en R.

Au fait, ce matériel est également disponible dans d'autres langues:



Marie Wu

Boston | 2022-12-01

C'est simple et clair. Merci de partager. Tri À Bulles Javascript et autres problèmes avec mean ont toujours été mon point faible 😁. J'espère juste que ça n'émergera plus

Boris Richtgofen

Munchen | 2022-12-01

JavaScript est tout un peu confus 😭 Tri À Bulles Javascript n'est pas le seul problème que j'ai rencontré. Je vais l'utiliser dans ma thèse de licence

Marie Porretti

Boston | 2022-12-01

Peut-être y a-t-il d'autres réponses ? Qu'est-ce que le Tri À Bulles Javascript signifie exactement ?. Je reviendrai demain avec des commentaires

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

Common xlabel/ylabel for matplotlib subplots

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

12 answers

NUMPYNUMPY

Flake8: Ignore specific warning for entire file

12 answers

NUMPYNUMPY

glob exclude pattern

12 answers

NUMPYNUMPY

How to avoid HTTP error 429 (Too Many Requests) python

12 answers

NUMPYNUMPY

Python CSV error: line contains NULL byte

12 answers

NUMPYNUMPY

csv.Error: iterator should return strings, not bytes

12 answers


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

sin

How to specify multiple return types using type-hints

exp

Printing words vertically in Python

exp

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

cos

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically