Tableau de tri(selection,insertion,bulle, rechercher,modificati)

Fermé
Mouktar - Modifié par baladur13 le 16/12/2015 à 10:31
Bonjour,

J'ai un problem en java toujours,j'ai ecrit un algorithme en java qui assemble trois tri(selection,insertion et bulle) ,le tableau est deja inisialiser ,puis il te permet de choisir un tri(soit 1,soit 2 ou 3) afin qu'il te permettra de te trier selon ton choix de tri.J'ai parvenu de faire celui de la selection ,mais je parviens pas le bulle et l'insertion).
Merci en avance de m'aider car je passe dans deux jour un controle Tp sur ca.svp aider moi vite.

voici mon code java:
import java.util.Scanner;
 public class trie {

 public static void main(String[] args) {
  
  Scanner sc=new Scanner (System.in); 

     int choix;
     int i;
     int tab[]={12,23,45,65,47,68,90,8};
     for (i=0;i<8;i++){
      System.out.println("le tableaux est:\n"+tab[i]);}  
     
     
       
         System.out.println("choisir un trie\n");
         System.out.println("1:choisir un trie d'Insertion\n");
         System.out.println("2:choisir un trie de Selection\n");
         System.out.println("3 choisir un trie a Bulles\n");
         choix=sc.nextInt();
     

     if(choix==1){
      trieInsertion(tab);
     }
     
     if(choix==2){
      trieSelection(tab);
     }
      if(choix==3){
       trieBulles(tab);
      }
}
 
 public static void trieSelection(int t[]){
   int i,j;
   int temp;
  
  for (i=0;i<8;i++){
   for (j=i+1;j<7;j++){
    if(t[i]>t[j]){
     temp=t[i];
     t[i]=t[j];
     t[j]=temp;}}}
  
  for(i=0;i<8;i++){
   System.out.print("le tableau dans l'ordre croissant est:"+t[i]);}
  }
  public static void trieInsertion(int tt[]){
   int x,y;
   int temmp;
   
   for(x=0;x<8;x++){
    for(y=(x-1);y<0;y++){
     if(tt[y]>tt[y+1]){
      temmp=tt[y];
      tt[y]=tt[y+1];
      tt[y+1]=temmp;
     }
    }
   }
   for(x=0;x<8;x++){
    System.out.println("le tableau dans l'ordre croissant est :"+tt[x]);}
   }
   public static void trieBulles(int ttt[]){
    int u;
    int tmp;
    boolean flag;
    
    flag=false;
    
    for(u=0;u<8;u++){
     if(ttt[u]>ttt[u+1]){
      tmp=ttt[u];
      ttt[u]=ttt[u+1];
      ttt[u+1]=tmp;
     }
    }
    for(u=0;u<8;u++){
     System.out.println("le tableau dans l'ordre croissant est :"+ttt[u]);
    }
   }
 }
 
}
  
 }
 
  
 
 }

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.