A quoi ressemble un tri encore?

Description

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

Codes Sources

A voir également

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.