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 :

Tri à bulle - besoin d'explication svp


Sujet :

avec Java

  1. #1
    Membre actif
    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
    Points : 237
    Points
    237
    Par défaut Tri à bulle - besoin d'explication svp
    Bonjour,

    Nous sommes en train d'apprendre le Tri à Bulle et il y a des éléments que je ne comprends pas, dans les deux boucles à faire.

    Donc j'ai un tableau avec les différents chiffres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int[] tab = {10,5,9,8,0,1,3,2,4};
    Dans ma function bulle , je ne comprends pas les deux boucles...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(int i = tab.length - 1; i >= 1; i--){
          for(int j = 1; j <= 1; j++){
    Dans la première boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(int i = tab.length - 1; i >= 1; i--){
    la variable i équivaut à la taille du tableau tab, le -1 est le fait de lire le tableau depuis la dernier indice, donc ici c'est la valeur "4"

    i plus grand ou équal à 1, pourquoi 1 ? A quoi correspond le 1 ?

    Dans la deuxième boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(int j = 1; j <= 1; j++){
    j = 1, représente quoi ?
    je ne comprends pas aussi ce que représente le j <= 1 ?

    D'avance merci pour vos explications précieuses.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 072
    Points : 7 974
    Points
    7 974
    Par défaut
    Je ne sais pas trop d'ou tu sors ce code, mais je doute fort que celui ci soit un tri a bulle.

    j = 1, représente quoi ?
    je ne comprends pas aussi ce que représente le j <= 1 ?
    Ca fait un boucle qui va de 1 à 1 donc entre nous je ne sais pas a quoi ça peut bien servir.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre actif
    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
    Points : 237
    Points
    237
    Par défaut
    Bonjour,

    Je l'ai trouvé ici
    tu en penses quoi?

  4. #4
    Membre actif
    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
    Points : 237
    Points
    237
    Par défaut
    J'ai trouvé un autre code, j'aimerais comprendre celui-ci, il a l'air d'être plus facile pour moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    static void tri_bulle(int[] tab)
       {  
            int taille = tab.length;  
            int tmp = 0;  
            for(int i=0; i < taille; i++) 
            {
                    for(int j=1; j < (taille-i); j++)
                    {  
                            if(tab[j-1] > tab[j])
                            {
                                    //echanges des elements
                                    tmp = tab[j-1];  
                                    tab[j-1] = tab[j];  
                                    tab[j] = tmp;  
                            }
     
                    }
            }
       }
    Dans la première boucle on parcours le tableau uniquement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     for(int i=0; i < taille; i++) 
            {

    Dans la seconde boucle, je comprends pas bien cette partie -> `(taille-i)`
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     for(int j=1; j < (taille-i); j++)
                    {
    En fait, on prend la deuxième valeur du tableau j=1, ensuite si cette valeur est plus petite que la première on l'avance?

  5. #5
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2013
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 269
    Points : 434
    Points
    434
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    J'ai trouvé un autre code, j'aimerais comprendre celui-ci, il a l'air d'être plus facile pour moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    static void tri_bulle(int[] tab)
       {  
            int taille = tab.length;  
            int tmp = 0;  
            for(int i=0; i < taille; i++) 
            {
                    for(int j=1; j < (taille-i); j++)
                    {  
                            if(tab[j-1] > tab[j])
                            {
                                    //echanges des elements
                                    tmp = tab[j-1];  
                                    tab[j-1] = tab[j];  
                                    tab[j] = tmp;  
                            }
     
                    }
            }
       }
    Dans la première boucle on parcours le tableau uniquement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     for(int i=0; i < taille; i++) 
            {

    Dans la seconde boucle, je comprends pas bien cette partie -> `(taille-i)`
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     for(int j=1; j < (taille-i); j++)
                    {
    En fait, on prend la deuxième valeur du tableau j=1, ensuite si cette valeur est plus petite que la première on l'avance?
    Il s'agit d'une boucle qui traite les n premiers caractères du tableau où n est l'ensemble du tableau en diminuant de 1 à chaque passage dans la première boucle puisqu'on réduit la taille de i (valeur de la première boucle qui elle augmente), par exemple pour un tableau de 10 :
    10 - 0 : 10 premiers éléments du tableau
    10 - 1 : 9 premiers éléments du tableau
    10 - 2 : 8 premiers éléments du tableau
    10 - 3 : 7 premiers éléments du tableau

Discussions similaires

  1. [WS 2003] Soucis de Raid 1 et Raid 5, besoin d'explication SVP
    Par alex_m94 dans le forum Windows Serveur
    Réponses: 10
    Dernier message: 04/09/2009, 14h19
  2. Zone de tri + tuning besoin d'explications
    Par D_light dans le forum SQL
    Réponses: 4
    Dernier message: 19/06/2008, 12h04
  3. [Struts-Layout] besoin d'explications sur le tri
    Par pitit777 dans le forum Struts 1
    Réponses: 8
    Dernier message: 21/09/2007, 17h05
  4. [ASP:Login] Besoin d'explication SVP.
    Par ketthos dans le forum ASP.NET
    Réponses: 1
    Dernier message: 22/07/2007, 12h46
  5. besoin d aide et de vrification algo tri bulle
    Par dju.ly dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 30/12/2005, 14h04

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