Trier une matrice en java

cs_asram Messages postés 9 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 7 avril 2010 - 7 avril 2010 à 17:57
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 31 mai 2010 à 18:55
bonjour,j'ai un fichier sous forme de matrice et je voudrai trier de maniére croissante pour pour tracer la CDF(cummulative distribution fonction).comment faire ?je suis débutan en java.merci pour vos aides

asram

1 réponse

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
31 mai 2010 à 18:55
La premiere chose à faire est de créer une classe matrice. Tu peux utiliser Collections.sort pour trier les valeurs dans l'ordre d'une liste dans l'ordre croissant.

import java.util.ArrayList;
import java.util.Collections;

public class Matrice {

private ArrayList> valeurs;

public Matrice(ArrayList> val){
valeurs = val;
}

public void trier(){
for(ArrayList<Double> liste : valeurs){
Collections.sort(liste);
}
}

}


Ensuite il faut lire le fichier pour cela tu peux utiliser

/**
 * cette fonction va lire le contenu d'un fichier
 * @param nomFichier : nom du fichier en entree
 * @return resultat : liste des lignes
 */
public static List<String> lireFichier(String nomFichier){
BufferedReader fluxEntree=null;
String ligneLue;
List<String> lignes = new ArrayList<String>();
try{
fluxEntree = new BufferedReader(new FileReader(nomFichier));
ligneLue = fluxEntree.readLine();
while(ligneLue!=null){
lignes.add(ligneLue);
ligneLue = fluxEntree.readLine();
}
}
catch(IOException exc){
exc.printStackTrace();
}
try{
fluxEntree.close();
}
catch(IOException e){
e.printStackTrace();
}
return lignes;
}


Une fois que tu as la liste de lignes, tu peux utiliser StringTokenizer pour récupérer les mots (qui seront des doubles à parser) et transfomer tout ca en matrice et le tour est joué
0
Rejoignez-nous