IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Explication des boucles pour un tri en bulle


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut Explication des boucles pour un tri en bulle
    Bonjour,

    J'ai besoin d'une petite explication concernant les boucles pour un tri en bulle.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            int taille = tab.length;  
            int tmp = 0;  
            for(int i=0; i < taille; i++) 
            {
                    for(int j=1; j < (taille-i); j++)
                    {  ...
    La boucle I; va parcourir l'ensemble du tableau c'est bien ça ?
    La boucle J, je ne comprends pas trop ce qu'elle fait ?

    Merci pour vos explications.

  2. #2
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 772
    Par défaut
    Regarde la page wikipedia : tri à bulles

    En gros, en commençant par la gauche (indice 0) on va faire remonter la plus grande valeur (parcours de 0 à (n - 1)), en comparant les éléments 2à2 consécutivement et en mettant la + grande valeur à droite (en les triant, avec 1 échange de valeurs).
    Donc, à la fin du parcours, tu auras à droite (indice (n - 1)) la + grande valeur. Et donc, tu sais qu'à l'indice (n - 1) le tableau est trié. Mais pas entre 0 et (n - 2)
    Alors on recommence 1 parcours de 0 à (n - 2). Et à la fin du parcours, tu sais qu'à partir de l'indice (n - 2) le tableau est trié. Mais pas entre 0 et (n - 3)
    Et ainsi de suite

    Édit :
    Avec ton exemple [5, 1, 4, 7]
    1ier parcours :
    • on compare la case 0 (5) et la case 1 (1). 5 > 1, on échange la case 0 et la case 1 - [1, 5, 4, 7]
    • on compare la case 1 (5) et la case 2 (4). 5 > 4, on échange la case 1 et la case 2 - [1, 4, 5, 7]
    • on compare la case 2 (5) et la case 3 (7). 5 < 7 on ne fait rien

    On obtient [1, 4, 5, 7], et [7] est trié

    2ième parcours :
    • on compare la case 0 (1) et la case 1 (4). 1 < 4, on ne fait rien
    • on compare la case 1 (4) et la case 2 (5). 4 < 5, on ne fait rien

    On obtient [1, 4, 5, 7], et [5, 7] est trié

    3ième parcours :
    • on compare la case 0 (1) et la case 1 (4). 1 < 4, on ne fait rien

    On obtient [1, 4, 5, 7], et [4, 5, 7] est trié

    On a fini le tableau trié est [1, 4, 5, 7]

  3. #3
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Bonjour,

    Merci beaucoup pour ta réponse et le temps que tu as consacré à tes explications. J'ai enfin compris le tri en bulle, je vais noter tes explications dans mes notes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer des boucles pour les sockets client serveur en java
    Par he lene dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 11/10/2016, 21h54
  2. Gérer des boucles pour publipostage
    Par LeLapinVengeur dans le forum VBA Word
    Réponses: 3
    Dernier message: 29/08/2008, 13h53
  3. [Dates] Boucle pour creer des dates
    Par Konrad Florczak dans le forum Langage
    Réponses: 19
    Dernier message: 27/10/2006, 19h03
  4. [VBA-E] Boucle pour supression des dernieres cellules
    Par amd64 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/05/2006, 16h41
  5. boucle pour insérer des enregistrements
    Par roots_man dans le forum ASP
    Réponses: 7
    Dernier message: 05/10/2004, 09h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo