import java.util.*;public class QuickSort2bis { public void main(int t) { int n=0; int T[] = new int[t]; while (n!=t) { T[n]=n; n++; } QS(T,0,t); for (int j=0;j<t;j++) { System.out.println ("" + T[j] + ""); } } public void QS ( int[] T,int i, int j ) { if ( (j-i)>1 ) { int g; int k; k = separer (T ,i ,j); QS(T,i,k); QS(T,k+1,j); } } public int separer (int[] T,int i, int j) { int j1,k,g; j1 = i+1; k = i; g = i; while (j1 != j) if (T[k]<T[j1]) j1++; else if (T[j1] == T[g]) { int x = T[k+1]; T[k+1] = T[j1]; T[j1] = x; k++; j1++; } else { int x = T[k+1]; T[k+1] = T[j1]; T[j1] = x; x = T[k+1]; T[k+1] = T[k]; T[k] = x; k++; j1 ++; } return k; } /** Durée de l'execution d'un programme en nanoseconde*///http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#nanoTime() public void durée_en_nanoseconde(int t) { int n=0; int T[] = new int[t]; while (n!=t) { T[n]=n; n++; } long start = System.nanoTime(); //Code de l'algorithme QS(T,0,t); //fin du code de l'algorithme à calculer long durée = System.nanoTime()-start; System.out.println("Durée d'execution : " + durée/1000000+"ms "+ (durée/1000)%1000 + "µs " +durée%1000 +"ns "); }}