Algorithme de tri bulle en JavaScript

JavaScriptJavaScriptBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons travailler sur un exercice de programmation JavaScript qui porte sur le tri d'ensembles d'éléments en utilisant l'algorithme de tri bulle. Le but de ce laboratoire est de vous aider à comprendre comment fonctionne l'algorithme de tri bulle, ainsi que de vous offrir l'occasion de pratiquer vos compétences en programmation JavaScript. À la fin de ce laboratoire, vous aurez une meilleure compréhension de la manière de mettre en œuvre l'algorithme de tri bulle en JavaScript, et de la manière d'utiliser cet algorithme pour trier des tableaux de nombres.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") javascript/BasicConceptsGroup -.-> javascript/loops("Loops") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28180{{"Algorithme de tri bulle en JavaScript"}} javascript/data_types -.-> lab-28180{{"Algorithme de tri bulle en JavaScript"}} javascript/arith_ops -.-> lab-28180{{"Algorithme de tri bulle en JavaScript"}} javascript/comp_ops -.-> lab-28180{{"Algorithme de tri bulle en JavaScript"}} javascript/cond_stmts -.-> lab-28180{{"Algorithme de tri bulle en JavaScript"}} javascript/loops -.-> lab-28180{{"Algorithme de tri bulle en JavaScript"}} javascript/array_methods -.-> lab-28180{{"Algorithme de tri bulle en JavaScript"}} javascript/spread_rest -.-> lab-28180{{"Algorithme de tri bulle en JavaScript"}} end

Algorithme de tri bulle

Pour pratiquer la programmation, ouvrez le Terminal/SSH et tapez node pour démarrer. L'algorithme de tri bulle trie un tableau de nombres.

Étapes pour trier un tableau en utilisant l'algorithme de tri bulle :

  1. Décarez une variable, swapped, qui indique si des valeurs ont été échangées lors de l'itération actuelle.

  2. Utilisez l'opérateur de répandage (...) pour cloner le tableau original, arr.

  3. Utilisez une boucle for pour itérer sur les éléments du tableau cloné, en terminant avant le dernier élément.

  4. Utilisez une boucle for imbriquée pour itérer sur le segment du tableau entre 0 et i, en échangeant tout élément adjacent non trié et en mettant swapped à true.

  5. Si swapped est false après une itération, plus de modifications ne sont nécessaires, donc le tableau cloné est renvoyé.

Exemple de code :

const bubbleSort = (arr) => {
  let swapped = false;
  const a = [...arr];
  for (let i = 1; i < a.length; i++) {
    swapped = false;
    for (let j = 0; j < a.length - i; j++) {
      if (a[j + 1] < a[j]) {
        [a[j], a[j + 1]] = [a[j + 1], a[j]];
        swapped = true;
      }
    }
    if (!swapped) return a;
  }
  return a;
};

bubbleSort([2, 1, 4, 3]); // [1, 2, 3, 4]

Sommaire

Félicitations ! Vous avez terminé le laboratoire sur le tri bulle. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.