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

Eclipse Java Discussion :

Test tri fusion Eclipse


Sujet :

Eclipse Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Etudiant (domaine de prédilection java)
    Inscrit en
    Mars 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant (domaine de prédilection java)
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2012
    Messages : 71
    Par défaut Test tri fusion Eclipse
    Bonjour,

    J'aimerais juste que quelqu'un essaye d'exécuter ce bout de code sur le tri par fusion, sur Eclipse.

    En fait, l'algorithme semble bon mais j'obtiens des STACK OVERFLOW même pour des tailles de tableau très petites.
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    public static void triFusion(int[] tab, int debut, int fin){
            int[] tab1= tab;
            if(fin>debut){
                triFusion(tab1, debut, (debut+fin/2));
                triFusion(tab1, (debut+fin)/2 +1,fin);
                fusionner(tab1, debut, (debut+fin)/2, fin);
            }
        }
     
        private static void fusionner(int[] tab, int debut,int milieu, int fin){
            int[] t1= new int[milieu-debut+1];
            int[]t2= new int[fin-milieu];
            for(int i=0; i<= t1.length-1; i++){
                t1[i]=tab[debut+i];
            }
            for(int i=0; i<= t2.length-1; i++){
                t1[i]=tab[fin+1+i];
            }
            int i=0,j=0,k=0;
            while(k<=fin){
                if(i>=t1.length){
                    tab[k]=t2[j];
                    j++;
                }else{
                    if(j>=t2.length){
                        tab[k]=t1[i];
                        i++;
                    }else{
                        if(t1[i]<= t2[j]){
                            tab[k]=t1[i];
                            i++;
                        }else{
                            tab[k]=t2[j];
                            j++;
                        }
                    }
                }
                k++;
            }
        }
    Je ne sais vraiment pas pourquoi ça réagit de la sorte.
    J'utilise la version Helios d'Eclipse.

    Quelqu'un saurait-il m'indiquer d'où peut venir le problème ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Essaie de regarder ce qui se passe sur les valeurs de début et de fin, avec un tableau de taille 2, par exemple.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. tri - fusion de fichiers
    Par Fabien92 dans le forum z/OS
    Réponses: 6
    Dernier message: 11/08/2009, 17h29
  2. Tri fusion avec pthread
    Par Sh4dow49 dans le forum Débuter
    Réponses: 34
    Dernier message: 22/06/2008, 21h02
  3. Complexité de l'algorithme de Tri Fusion
    Par judge06 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 26/03/2007, 22h04
  4. le tri fusion ne tri pas.
    Par argon dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 27/06/2006, 23h08

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