Partage
  • Partager sur Facebook
  • Partager sur Twitter

Trier un tableau en java

Trier un tableau en java

Sujet résolu
6 janvier 2007 à 22:38:49

bsr,
je suis debutante en java, et je veux savoir comment on peux trier un tableau en java, quelqu'un peux m'aider??? heeeeelppp :(
merci d'avance!
  • Partager sur Facebook
  • Partager sur Twitter
7 janvier 2007 à 0:43:54

Essaie ça :

import java.util.*;

public class Test {
        public static void main(String[] args) {
                int[] list = new int[4];
                list[0] =152 ;
                list[1] = 5;
                list[2] = 596;
                list[3] = 63;

                Arrays.sort(list);

                for(int i = 0; i < list.length; i++)
                        System.out.println(list[i]);
        }
}


Lien vers la doc
  • Partager sur Facebook
  • Partager sur Twitter
10 janvier 2007 à 11:56:35

sinon d'un point de vue algorythmique, il y a diverse méthode de tri (tri bulle, tri plomb, tri fusion, tri sélection, tri mini, tri maxi...)
  • Partager sur Facebook
  • Partager sur Twitter
3 juin 2008 à 17:17:57

bonjour,
Je voudrais trier mon tableau dans l'ordre inverse. C'est à dire quand j'ai fait un sort de mon tableau pour trier bien mon tableau, j'ai besoin d'inverser l'ordre. Autrement dit, que mon tableau soit trier du plus grand au plus petit. dans d'autres langages on a des méthodes comme:

rsort() ou encore reverse()

mais dans mon programme, il semble que ça n'existe pas... :/

Voici mon code:

//declaration de la methode ClassementMat
	public static int ClassementMat(){
//declaration des variables de la methode ListingMat
		String matiere, requete, numEtu;
		float[] tab = new float[100];
		ResultSet rs;
		int update = -1, i=0, position=1;
		
		System.out.println("Indiquez la matiere dont vous voulez le classement");
		matiere = Clavier.readString();
		
		try {
			//connection
			Connecter();
			//requete de selection de l'etudiant
			requete = "SELECT AVG(note) FROM not_NOTES WHERE matiere='"+matiere+"' GROUP BY numeroEtudiant ORDER BY note DESC";
			rs = stmt.executeQuery(requete);
			while(rs.next()){
				tab[i] = rs.getFloat("AVG(note)");
				Arrays.sort(tab);
				Array.reverse();
				System.out.println(position+". "+tab[i]);
				position++;
				i++;
			}
			
			//deconnection();
			con.close();
		}//fin try
		catch (Exception e) {
			e.printStackTrace();
		}//fin catch
		
		return update;
	}//fin ClassementMat
  • Partager sur Facebook
  • Partager sur Twitter
3 juin 2008 à 21:21:32

En général, on travaille avec des listes d'objets ou des tableaux d'objet.

Dans ce cas, il faut utiliser la méthode : sort(Object, Comparator) http://java.sun.com/j2se/1.4.2/docs/api/java/util/Arrays.html#sort(java.lang.Object[],%20java.util.Comparator)
en implémentant un Comparator qui donne l'ordre inverse.

Exemple :
class MonObject {
  String monNom;
  public String getMonNom() { return monNom;}
}

MonObject[] monTableau = new ....

Arrays.sort(monTableau,  new Compatator() { 
     int compare(Object o1, Object o2) {
        MonObject m1 = (MonObject) o1;
        MonObject m2 = (MonObject) m2;
        return -m1.getMonNom().compareYTo(m2.getMonNom());
     }
});


Il faut éventuellement adapter suivant la classe et le type de champ à comparer
  • Partager sur Facebook
  • Partager sur Twitter
14 juin 2013 à 19:14:20 - Message modéré pour le motif suivant : Déterrage


23 janvier 2016 à 10:58:20

bonjour ..., on a un vecteur composé de 04 cases chacune des  cases a un numéro (compris entre 1 et 4) 

Travai demanndé : essayer de trier le vecteur  en utilisant la méthode d'exploration c à  d dessiner l'arbre .

  • Partager sur Facebook
  • Partager sur Twitter
24 mai 2016 à 17:26:27

package Progr_Orienté_Objet;

/**

 *

 * @author MCDIALLO

 */

public class TrietabEntiers {

    public static void tabTrie(int tab[],int taille){

        int indice_max;

        for(int i=taille;i>1;i--){

            indice_max=max(tab,i);

            echanger(tab,i-1,indice_max);

        }

    }

    public static int max(int tab[],int taille){

        int i=0,indice_max=0;

        while(i<taille){

            if(tab[i]>tab[indice_max])

                indice_max=i;

            i++;

        }

        return indice_max; 

    }

    public static void echanger(int tab[],int i,int j){

        int tmp;

        tmp=tab[i];

        tab[i]=tab[j];

        tab[j]=tmp;

    }

    public static void main(String[] args){

        int t[]={2,1,4,6,3};

        tabTrie(t,t.length);

        for(int i=0; i<t.length;i++)

            System.out.println(t[i]);

    }

}

-
Edité par MamadouCiréDiallo 24 mai 2016 à 17:27:47

  • Partager sur Facebook
  • Partager sur Twitter
24 janvier 2017 à 10:44:55

Salut à tous, 

voilà je debute en java et j'aimerai savoir comment trier un tableau ( pas un liste ) est est-il possible de le faire sans faire un ''import'' 

merci :)

  • Partager sur Facebook
  • Partager sur Twitter
25 janvier 2017 à 3:21:16

Déterrage alors que la réponse se trouve dans le second message du topic.

Sans faire import -> recode toi-même le tri.

  • Partager sur Facebook
  • Partager sur Twitter
1 février 2017 à 15:13:53

package ordretableau;

import java.util.Arrays;

public class OrdreTableau {

         
   
    public static void main(String[] args) {
        int i;
        int [] tab = new int [5];
       
        tab[0]=4;
        tab[1]=6;
        tab[2]=8;
        tab[3]=1;
        tab[4]=2;
       
        System.out.println("tableau avant la methode Arrays.sort() ");
        for (i=0;i<=4;i++){
        System.out.print(tab[i]+",");
        }   
       
        System.out.println("");
        Arrays.sort(tab);
       
        System.out.println("tableau aprés la methode Arrays.sort() ");
        for (i=0;i<=4;i++){
        System.out.print(tab[i]+",");
       }
      
    }
}
  • Partager sur Facebook
  • Partager sur Twitter
Bien Cordialement
14 mai 2017 à 21:20:40

quelqu'un peux m'aider? 
  • Partager sur Facebook
  • Partager sur Twitter
14 mai 2017 à 22:53:37

Bon, ça suffit les déterrages.

Le topic date de 2007, ça ne sert à rien de poster là. Créez plutôt vos propres topics en suivant les règles, merci.

  • Partager sur Facebook
  • Partager sur Twitter

Moderateur forum || FAQ 3D || discord 3D francophone || OC Tweak script