Partage
  • Partager sur Facebook
  • Partager sur Twitter

implémenter Tri à bulle JS

    6 août 2020 à 0:53:10

    Bonjour à tous,

    J'aimerais votre avis sur mon implémentation d'un tri à bulle en JS.

    Tout d'abord voici mon code:

    function sortedArray(arr){
      
     const arrLength = arr.length
      
     for(let i = 0; i < arrLength;){
        const temp = arr[i];
    
        if(arr[i] > arr[i+1]){
          arr[i] = arr[i+1];
          arr[i+1] = temp;
          i = 0;
        } else {
          i++
        }
      }
      return arr;
    }
    
    sortedArray([87,45,34,87,9,112,36])

    Bon à priori ça fonctionne et mon implémentation me semble correcte.

    Cependant, lorsque je regarde les implémentations proposées sur le net, je tombe invariablement sur une implémentation avec une boucle do...while.

    Du coup, mes questions sont : que pensez-vous de ma proposition ? Est-ce qu'il y a des éléments à côté desquels je suis passés ?

    Merci d'avance pour vos réponses.

    • Partager sur Facebook
    • Partager sur Twitter
      6 août 2020 à 8:51:49

      Salut,

      Ben si ça fonctionne comme tu veux, c'est okay.

      Mais personnellement pour ce genre de chose, je ne me prendrais pas la tête et j'utiliserais simplement 'sort', c'est fait pour ça :

      [87,45,34,87,9,112,36].sort((x, y) => -(x < y));

      -
      Edité par BrainError 6 août 2020 à 9:05:35

      • Partager sur Facebook
      • Partager sur Twitter
        7 août 2020 à 9:41:06

        Bonjour,

        Merci pour ta réponse.

        J'aurais dû être plus précis, là mon implémentation était à visé pédagogique. Je fais de l'autoformation en algo.

        En tout cas merci pour l'exemple d'utilisation du sort(). Ça me sera utile très vite !

        • Partager sur Facebook
        • Partager sur Twitter

        implémenter Tri à bulle JS

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown