DESIGN PATTERN STRATEGY, TRI ET STL VECTOR

Signaler
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
-
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/21034-design-pattern-strategy-tri-et-stl-vector

Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

okok, j'ajoute ça à ma liste de TO DO, thx.
Messages postés
364
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
5 octobre 2006
2
So... pour la relation d'équivalence.
si tu as regardé (la class pair, et/ou l'inversion des arguments )
la fonction est équivalene à la tienne.
bool Comparer( const CPerso& lhs, const CPerso& rhs )
{
return (lhs.TileY < rhs.TileY)
|| !(rhs.TileY < lhs.TileY) && ( lhs.dY < rhs.dX );
}

voilà, tu n'as besoin de ne définir que l'opérateur < sur
CPerso ( grâce au ! et l'inversion des arguments )

sinon c'est partial_sort_copy qui n'utilise qu'un InputIteractor
(honnêtement je ne l'utilise jamais) et non partial_sort
Messages postés
364
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
5 octobre 2006
2
Pour l'accès aléatoire, c'est lié à la manière de trier du sort.
Je crois que partial_sort permet de faire quelque chose.

Pour les références automatiques, rien à faire.

Pour la relation d'équivalence, j'suis trop fatigué pour relire. demain.
mais dans le include il faut regarder l'opérateur < pour
les paires par exemple.
(sinon dans la pratique, je la code comme toi à quelques détails près).
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

Hylvenair, en rapport à ta 3ème remarque, ta solution n'est pas acceptable.

regarde bien, mes deux premiers tests passés, il n'y a plus qu'une possibilité: a.TileY == b.TileY

du coup je vérifie la sous position (en fait, dY est une variable qui "affine" la position du perso à l'intérieur d'une grande case nommée Tile). utiliser !(...<...) ne produirait pas l'effet voulu, puisqu'en cas de TileY équivalents, dY ne serait pas utilisé pour déterminer plus précisément l'ordre des persos.


je ne savais pas que sort ne pouvais pas traiter les list, pq on a besoin d'un itérateur aléatoire? je trouve ça étonnant...

pr les référence je suis d'accord, mais comment je suis sensé faire comprendre ça à sort? les conteneurs contiennent des objets, pas des pointeurs (ni des références).
Afficher les 10 commentaires