1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
public static void sort(Comparable[]tab){
for (int i=0; i<tab.length; i++){ /*Parcourir le tableau*/
int j; // <<< j remplace m
for(j=0 /*<<< zéro et pas 1 */; tab[i].compareTo(tab[j])>0; j++){ /*Trouver la place où il faut insérer*/
}
if (j<i) { // <<< Faut-il insérer tab[i] ? ...
// tab[m]=tab[i]; <<< Faire ceci seulement après avoir décalé le tableau
Comparable tabI=tab[i]; // <<< Sauver Tab[i] avant de décaler le tableau
for(int k=i; k>j; k--){
tab[k]=tab[k-1]; // Lorsque k=i tab[i] est écrasé par tab[i-1]
}
tab[j]=tabI; /*Recopier l'élément à inséréer*/
}
}
} |