Bubble short or playing with bubbles in your bath

Exemple de tri à bulle simple :

TriABulle.java

public class TriABulle{
  static int [] tab = new int [5];
  public static void RandomInit(){
    for(int i=0;i<tab.length;i++){
       tab[i]=(int)(Math.random()*10);
    }
  }
  public static void affiche(){
    for(int i=0;i<tab.length;i++){
       System.out.print(tab[i]+"\t");
    }
    System.out.println("");
  }
  public static void tri(){
    boolean estRange=true;
    int n=tab.length-1;
    for(int i=0;i<n;i++){
       if(tab[i]>tab[i+1]){
       int temp=tab[i+1];
       tab[i+1]=tab[i];
       tab[i]=temp;
       estRange=false;
    }
       if(!estRange) tri();
    }
  }

  public static void main(String[] args) {
    System.out.println("TRI A BULLE");
    System.out.println("-----------");
    System.out.println("Init");
    RandomInit();
    affiche();
    System.out.println("Tri");
    tri();
    affiche();
  }
}

Exemple de tri à bulle bidirectionnel :

TriABulle2.java

public class TriABulle2{
  static int [] tab = new int [5];
  public static void RandomInit(){
    for(int i=0;i<tab.length;i++){
      tab[i]=(int)(Math.random()*10);
    }
  }
  public static void affiche(){
  for(int i=0;i<tab.length;i++){
     System.out.print(tab[i]+"\t");
  }
  System.out.println("");
  }
  public static void droit(){
    boolean estRange=true;
    int n=tab.length-1;
    for(int i=0;i<n;i++){
      if(tab[i]>tab[i+1]){
        int temp=tab[i+1];
        tab[i+1]=tab[i];
        tab[i]=temp;
        estRange=false;
      }
      if(!estRange) gauche();
    }
  }
  public static void gauche(){
    boolean estRange=true;
    int n=tab.length-1;
    for(int i=n;i>0;i--){
      if(tab[i]<tab[i-1]){
        int temp=tab[i-1];
        tab[i-1]=tab[i];
        tab[i]=temp;
        estRange=false;
      }
      if(!estRange) droit();
    }
  }
  public static void tri(){
    droit();
  }
  public static void main(String[] args) {
    System.out.println("TRI A BULLE");
    System.out.println("-----------");
    System.out.println("Init");
    RandomInit();
    affiche();
    System.out.println("Tri (biridictionnel)");
    tri();
    affiche();
  }
}

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s