Voici donc le corps d'un algorithme de tri. Ce dernier est plus rapide lors de tris sur de petits tableaux, il vaut celui de java sur les autres tailles (Medium, java légèrement meilleur:: huge,mon tri légèrement meilleur)
Voilou, amusez-vous bien
B@ron
Source / Exemple :
package ShellSort;
import java.util.Arrays;
public class deSanyFromBelgiumSort
{
private int[] local; //copy of the array.
private int increment = 1; //jump in the array.
private int size; //size of the array.
private int c,j; //useful for the trt
private int cpt,cpt2; //the counters.
public deSanyFromBelgiumSort(){}
//JAVA SORT
public int[] javaSort(int[] tmp){
local = tmp;
Arrays.sort(local);
return local;
}
//MY SORT
// => MYSORT IS FASTER WITH SMALL ARRAYS.
// => JAVASORT IS BETTER WITH MEDIUM ARRAYS.
// => EQUIVALENT WITH HUGE ARRAYS.
public int[] mySort(int[] tmp){
local = tmp;
size = tmp.length;
while(increment < (size/9)) increment = (increment * 3) + 1; //FIRST LOOP TO DETERMINE THE JUMP SIZE
do{
for (cpt = 1; cpt <= increment; cpt ++){
for (cpt2 = increment+cpt; cpt2 < size; cpt2+=increment){
c = local[cpt2];
j = cpt2 - increment;
while ((j >= 0) && (local[j] > c)){
local[j+increment] = local[j];
j -= increment;
}
local[j+increment] = c;
}//FOR 2
}//FOR 1
increment /= 3;
}while(increment != 0);
return local;
}
}
Conclusion :
Java je trouve qu'il n'y a pas grand chose de mieux, cependant cela serait triste de ne plus réfléchir à cause des nombreux programmes d'aides et méthodes qui sont mis à notre disposition. Voici donc un tri qui vaut celui de java mais qui est tjs plus rapide avec les petits tris ;p
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.