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);
}
}
} |
Partager