Comment classer des données?
Utiliser une tableau auxiliaire spécialement construit :
Valeur clé | indice repérant une donnée
Utiliser l'algorithme de classementde java (sort) - il faut un critère de
comparaison
L'ordre des indices indiquera l'ordre des données classées selon le critère de
la clé
public class MaTable implements java.lang.Comparable{
//permet de claser selon un critère particulier (ici double) une structure indicee
//http://java.developpez.com/faq/java/?page=langage_donnees
double dist;
int indice;
public double get_dist(){return dist;};
public int compareTo(Object other) {
\\le critère de comparaison : rend +1 ; 0 ; -1
double nombre1 = ((MaTable) other).get_dist();
double nombre2 = this.get_dist();
if (nombre1 > nombre2) return -1;
if (nombre1 < nombre2) return +1;
return 0;
}
}
public void calculeDist(int x,int y){
MaTable[] t= new MaTable[lesVilles.size()];
Ville v;
double d1,d2;
for(int i=0;i<lesVilles.size();i++) {
v=(Ville)lesVilles.get(i);
d1=v.posx-x;
d2=v.posy-y;
t[i]= new MaTable() ;
t[i].dist=Math.sqrt(d1*d1+d2*d2);
t[i].indice=i;
}
Arrays.sort(t);
if (logFrame==null) logFrame = new LogFrame();
logFrame.setVisible(true);
logFrame.clearText();
logFrame.addText("CLICK en : "+x+" "+y);
for(int i=0;i<t.length;i++) {
v=(Ville)lesVilles.get(t[i].indice);
logFrame.addText(t[i].dist+"\t"+v.nom);
}
}
1 / 1 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !