Rechercher : dans
Par :

Tri rapide en JAVA

Dernière réponse le 27 jan 2008 à 21:59:06 protanq, le 15 déc 2007 à 18:10:17 
 Signaler ce message aux modérateurs

Bonjour,

Je doir créer un algorithme de tri rapide en java. Pour l'instant, je crois que je touche au but. Cependant il y a quelques erreurs qui font que sa ne marche pas.
Je vous joins mon code:

public class expose{

public static void main TriRapide(int tableau[])
{
int longueur=tableau.length;
triRapide(tableau,0,longueur-1);
}

private static int partition(int tableau[],int deb,int fin)
{
int compt=deb;
int pivot=tableau[deb];

for(int i=deb+1;i<=fin;i++)
{
if (tableau[i]<pivot)
{
compt++;
echanger(tableau,compt,i);
}
}
echanger(tableau,deb,compt);
return(compt);
}

private static void triRapide(int tableau[],int deb,int fin)
{
if(deb<fin)
{
int positionPivot=partition(tableau,deb,fin);
triRapide(tableau,deb,positionPivot-1);
triRapide(tableau,positionPivot+1,fin);
}
}


private static int echanger (int tableau[], int temp, int compt, int deb){
int temp=tableau[deb];
tableau[deb]=tableau[compt];
tableau[compt]=temp;

}
}
}

Je vous remercie d'avance.

cordialement

Configuration: Windows Vista
Firefox 2.0.0.11

Meilleures réponses pour « tri rapide en JAVA » dans :
Pascal - Tri par insertion - Récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par insertion : Procedure Tri_Ins (Var t: TAB; n: integer); Var aux,i : integer; begin If n > 1 Then begin ...
Tri à bulles -récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri à bulles : Procedure Tri_bulles (var t : TAB; n : integer); Var i, aux : integer; Function Trier (t : TAB; n : integer) : Boolean; ...
Tri par fusion - récursivité- VoirVoici une procédure récursive qui permet de trier un tableau de n entiers en utilisant la méthode de tri par fusion : Procedure Tri_Fusion (Var t : TAB; g, d : integer); Var m, i, j, k : integer; s : TAB; Begin If d > g Then ...
Télécharger Java Runtime Environment VoirJava Runtime Environment (JRE) installe la machine virtuelle Java, permettant de jouer en ligne, de discuter avec des personnes dans le monde entier, de calculer les intérêts de votre prêt immobilier ou de visualiser des images en 3D. Ces...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
Java - Les types de données VoirLes primitives Java est un langage orienté objet, c'est-à-dire que les éléments manipulés sont des classes, ou plus exactement des objets, c'est-à-dire des instances de classes. Toutefois ces objets contiennent des données possèdant un type (et...
Java - L'héritage VoirLa notion d'héritage Le concept d'héritage est un des concepts les plus importants de la programmation orientée objet, car il conditionne irréversiblement la façon selon laquelle un code Java est écrit. L'héritage est un mécanisme permettant de...

1

 Laritta, le 27 jan 2008 à 21:59:06
  • +1

Salut voici mon code en java j'espere qu'il taide.........mais j'ai une petite question vous pover m'envoyer un programme en code java concernat l'encryption decryption merci en tout cas



public staic void TriRapide (int [] tab){
int N=tab.length;
Trirapide(tab,0,N-1);}

private staic int partition(int [] tab,int l,int r){
int i=l;//indexe of left to right;
int k=r-1;// indexe of right to left
int temp;
if(r-l>=1)//check there is two eltement to start
{int pivot =tab[r];
while(k>i){// left and right indice not meet
while((tab[i]<pivot)&&(k>i)) i++;
while ((tab[k]>pivot)&&(k>i)) k--;
if(k> i){ //put pivot into its final place
while((tab[i]>pivot)&&(tab[k]<pivot)
{ temp=tab[k];
tab[k]=tab[i];
tab[i]=temp;}//swap(tab,i,k)
else{
if(tab[i]>pivot) { temp=pivot;
pivot=tab[i];
tab[i]=temp;}
}//fin else
else //if there is one element in the partition
{return i;}
}//fin partition

private sativ void Trirapide(int [] tab,int l,int r)
{ if(l<r)
{ int positionpivot=partition(tab,l,r);
TriRapide(tab,l,positionpivot-1);
TriRapide(tab,positionpivot+1,r); }
}

//fonction de creation d'un tableau

public static void afficher(int [] tab){
for(int i=0;i<tab.length;i++)
System.out.println(tab[i]+"");
System.out.println();}

//Fonction principale
public static void main (String [] args) {
int N;
N=Integer.parseInt(JOptionPane.showInputDialog("Donner la taille"));
int [] tab=new int[N];
for(int i=0;i<tab.length;i++){
tab[i]=Integer.parseInt(JOptionPane.showInputDialog("Entrer i SVP"));}
System.out.println("Tableau initiale :");
afficher(tab);
TriRapide(tab);
System.out.println("Tableau trier :");
afficher(tab);
}
}

Répondre à Laritta