Vous n'appelez pas quoi que ce soit. Il possède des méthodes de tri privées à java.util
Vous le laissez les appeler lorsque vous appelez la fonction Arrays.sort()
ou quelque chose comme ça.
Cela ressort clairement du commentaire:
/*
* The next two methods (which are package private and static) constitute
* the entire API of this class. Each of these methods obeys the contract
* of the public method with the same signature in java.util.Arrays.
*/
static <T> void sort(T[] a, Comparator<? super T> c) {
sort(a, 0, a.length, c);
}
static <T> void sort(T[] a, int lo, int hi, Comparator<? super T> c) {
...
}
A en juger par le temps de mon dernier commentaire, cela a pris moins de 15 minutes pour le faire:
Et e résultat:
C:\Documents and Settings\glowcoder\My Documents>java SortTest
Time for default: 4094ms
Time for timsort: 3813ms
C:\Documents and Settings\glowcoder\My Documents>
+1 Vous m'avez encore une fois – MByD
damn. Connaissez-vous une source "complète" du Tim Sort en Java? Je suppose que je ne peux pas encore appeler la méthode puisque nous ne sommes pas en Java 7. = x Merci. – Seva
@Seva avez-vous besoin d'appeler TimSort? Et, y a-t-il quelque chose qui vous empêche de copier/coller cela et de faire une méthode ou deux 'public' et de changer dans quel paquet il se trouve? – corsiKa