Salut,
Bon g un TD où on doit faire un sys de gestion de championnat, avec une base objet. Parmi tt ce qu'on doit faire, j'ai un problème avec la chose suivante : trier les équipes selon le classement du championnat.
Bon, en gros on va avoir des équipes, et des matchs programmés.
A l'issue de l'execution de n matchs, on veut avoir le classement du championnat.
Le classement d'une équipe se calcule comme suit :
- nbPoints = nbVictoires * 3 + nbNuls
si jamais y'a égalité de points, on doit comparer le goal average (but marqués - buts encaissés)
Jusque là tout va bien
J'ai du mal à imaginer un algo propre
G plus ou moins imaginé la chose suivante :
Faire une hashmap sur le nombre de points, qui contient une arrayList par entrée, ce qui va me donner un truc genre :
12 Lyon
10 Marseille
9 Paris, Nice
etc...
ensuite je remonte la hashmap à l'envers, en partant de nbMatchJoués * 3 (le nb max de points atteignable), en descendant chaque index, et en testant si y'a des équipes à ce niveau. Si y'en a qu'une je la choppe, si y'a en plusieurs, je les tri sur le goalaverage et donc :
1er = Lyon
2eme = Marseille
3ème : ben là je récupère le lot, et je cherche le goalaverage
etc...
ca vous semble correct ou vous voyez mieux ?
---------------
Jubi Photos : Flickr - 500px