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 :

Algo tri : tri rapide


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 46
    Points : 37
    Points
    37
    Par défaut Algo tri : tri rapide
    Bonsoir,

    Je pense que mon code de Tri Rapide est correct.
    Mais je ne parviens pas à rappeler le résultat de mon tri.

    Merci pour votre aide et vos conseils.


    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    import java.util.*; 
    public class Main{
        private static Scanner reader;
     public static void main(String[] args) {
        reader = new Scanner(System.in);
        System.out.print("Entrez le nombre d'entiers à trier :");
    	  int k  = reader.nextInt(); 
        int T[] = new int [k];
            int nxt;
    		for(int i =0; i<k;i++){
        Random ran = new Random(); 
        nxt = ran.nextInt(100);
        T[i]=nxt;
        }
        System.out.print("Avant le tri  ");
        for (int n:T)
        System.out.print(n+" ");
          triRapide ( T[]);
        System.out.print("\nAprès le tri  ");
        for (int n:T)
           System.out.print(n+" ");
     }
        public static void triRapide(int T[])
        {
        int longueur=T.length;
        triRapide(T,0,longueur-1);
        }
     
        private static int partition(int T[],int deb,int fin)
            {
            int compt=deb;
            int pivot=T[deb];
     
            for(int i=deb+1;i<=fin;i++)
                {
                if (T[i]<pivot)
                    {
                    compt++;
                    echanger(T,compt,i);
                    }
                }
            echanger(T,deb,compt);
            return(compt);
            }
     
        private static void triRapide(int T[],int deb,int fin)
            {
            if(deb<fin)
                {
                int positionPivot=partition(T,deb,fin);
                triRapide(T,deb,positionPivot-1);
                triRapide(T,positionPivot+1,fin);
                }
            }
    }

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 104
    Points : 140
    Points
    140
    Par défaut
    Bonjour,
    Juste avec une relecture très superficielle, je vois deux problèmes :
    1) En ligne 18, on ne passe pas T[] en paramètre de triRapide mais simplement T.
    2) La méthode échanger n'est pas définie.
    Deux remarques :
    1) En Java, les conventions veulent que les variables locales commencent par une lettre minuscule, ce que T ne respecte pas.
    2) Et une bonne pratique est de donner des noms parlants, ce que T, k et n ne respectent pas non plus.

Discussions similaires

  1. besoin d aide algo tri croissant
    Par dju.ly dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 28/12/2005, 16h37
  2. Tri rapide
    Par mikees dans le forum Assembleur
    Réponses: 1
    Dernier message: 19/12/2005, 21h53
  3. Tri Rapide sur un CLIST
    Par ensisoft dans le forum MFC
    Réponses: 9
    Dernier message: 13/12/2005, 23h22
  4. Tri rapide
    Par DBBB dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 10/12/2004, 17h54

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