Et voila le code complet, il est très long et il y a plusieurs tri:
import java.io.*;
class Ex1 {
public static void main(String[] args)
{
System.out.println("Entrez la taille du tableau");
System.out.println("");
int taille;
taille=lire();
double [] tab= new double [taille];
System.out.println("Saisissez les valeurs du tableau");
saisieTableau(tab);
afficheTableau(tab);
System.out.println(" ");
boolean continuer = true;
int choix;
while(continuer)
{
afficherMenu();
choix=lire();
switch(choix)
{
case 1:
//triMax(tab);
break;
case 2:
triSeq(tab);
break;
case 3:
//triCompteur(tab);
break;
case 4:
triBul(tab);
break;
case 5:
//triFusion(tab);
break;
case 6:
//rechercheDicho(tab,val);
break;
case 7:
continuer=false;
break;
default:
System.out.println("Valeur non possible");
}
}
}
public static void afficherMenu()
{
System.out.println("1: Tri par recherche du maximum");
System.out.println("2: Tri par insertion sequentielle");
System.out.println("3: Tri par compteur");
System.out.println("4: Tri a bulle");
System.out.println("5: Tri par fusion");
System.out.println("6: Recherche par dichotomie");
System.out.println("7: Quitter");
}
/*
public static void rechercheDicho(double tab[], double val)
{
}
public static void triFusion()
{
}
*/
public static void triMax(double tab[])
{
int i, maximum;
double tmp;
int j=tab.length;
while(j>0)
{
maximum = 0;
for(i=1; i<tab.length; i++)
{
if(tab[i]>tab[maximum])
{
tmp=maximum;
maximum=tab[i];
tab[i]=tmp;
}
j--;
}
}
}
public static void triSeq(double tab[])
{
int i, j;
double tmp;
for(i=0;i<tab.length;i++)
{
j=tab.length-1;
while(j>0)
{
if(tab[j]<tab[j-1])
{
tmp=tab[j];
tab[j]=tab[j-1];
tab[j-1]=tmp;
}
else{
j--;}
}
System.out.print(tab[i]+" ");
}
System.out.println(" ");
}
/*
public static void triCompteur(double tab [])
{
int i,s=0,k;
int taille=tab.length;
int nb [] = new int [taille];
int res [] = new int [taille];
for(i=0;i<taille;i++)
{
for(i=0;i<taille;i++)
{
for(k=0;k<taille;k++)
{
if(tab[i]>tab[k])
{
s++;
}
nb[i]=s;
}
res[nb[i]]=tab[i];
s=0;
}
System.out.println("***tableau est trie***\n");
for(i=0;i<taille;i++)
{
System.out.println(res[i]+"");
}
}
}
*/
public static void triBul(double tab [])
{
int i, j;
double tmp;
for(i=0;i<tab.length;i++)
{
for(j=tab.length-1;j>=i+1;j--)
{
if(tab[j]<tab[j-1])
{
tmp=tab[j];
tab[j]=tab[j-1];
tab[j-1]=tmp;
}
}
System.out.print(tab[i]+" ");
}
System.out.println(" ");
}
public static void saisieTableau(double[] tab)
{
int i=0;
while(i<tab.length)
{
tab[i]=lire();
i++;
}
}
public static void afficheTableau(double[] tab)
{
for(int i=0; i<tab.length; i++)
{
System.out.print(tab[i]+" ");
}
System.out.println(" ");
}
public static int lire()
{
String chaine = new String();
System.out.print("Entrez une valeur :");
chaine = lireClavier();
System.out.println();
return (new Integer(chaine).intValue());
}
public static String lireClavier()
{
byte[] lu=new byte[50];
try { System.in.read(lu,0,50); }
catch (IOException e) { System.out.print("Erreur dans la saisie"); }
String s = new String(lu,0,50);
return s.trim();
}
}
P.S. La fonction lire() n'est pas de moi.