mardi 20 novembre 2012

Trier un tableau d'entiers en java


Il s'agit d'écrire une méthode statique d'en-tête :
    public static void trier(int[] tableau)
qui prend en paramètre un tableau tri d'entiers et trie ce tableau, par un algorithme de tri de votre choix. Cette méthode sera mise dans une classe nommée Tri.
Notre corrigé utilise un tri par insertion.
Vous ajouterez aussi à la classe Tri une méthode d'en-tête : 
    public static void afficher(int[] tableau)  qui écrit le contenu d'un tableau sur la sortie standard.
La méthode main de la classe EssaiTri.java vous permettra de tester votre travail.


Corrigé :

EssaiTri.java


public class EssaiTri { 
    public static void main(String[] arg) {
 int[] tableau = new int[10];
 tableau[0] = 20;
 tableau[1] = 5;
 tableau[2] = 3;
 tableau[3] = -7;
 tableau[4] = 0;
 tableau[5] = 14;
 tableau[6] = 56;
 tableau[7] = 8;
 tableau[8] = 19;
 tableau[9] = 15;
 
 Tri.afficher(tableau);
 Tri.trier(tableau);
 Tri.afficher(tableau);
    }
}

Tri.java

public class Tri {
 public static void trier(int[] tableau) {
  int i, j, cle;
  
  for (i = 1; i < tableau.length; i++) {
   cle = tableau[i];
   j = i;
   while ((j >= 1) && (tableau[j - 1] > cle)) {
    tableau[j]  = tableau[j - 1] ;
    j = j - 1;
   }
   tableau[j] = cle;
  }
 }
 
 public static void afficher(int[] tableau) {
  for (int valeur : tableau) System.out.print(valeur + " ");
  System.out.println();
 }
}

Aucun commentaire:

Enregistrer un commentaire