import java.util.*;public class Seb{ public static void main(String[] args){ int n=0; int T[] = new int[10]; for (int i = 0; i < T.length ; i++){ T[i]=T.length - i; } QS(T,0,T.length); aff(T); } public static void QS ( int[] T,int i, int j ){ if ( (j-i)>1 ){ int k; aff(T); k = separer (T ,i ,j); aff(T); QS(T,i,k); QS(T,k+1,j); } } public static void aff (int[] T){ for (int i = 0 ; i < T.length ; i++){ System.out.print(T[i] + " "); } System.out.println(""); } public static int separer (int[] T,int i, int j){ int j1,k; j1 = i+1; k =i; while (j1 != j){ if (T[k]<T[j1]){ 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 "); }}