|
Dernière réponse | |
---|---|
Sujet : [C++] trier un vector avec une fonction de comparaison | |
kikoho | salut j'ai une classe point défini comme suit: float x; float y; std::list<point*>* list_point; je souhaite trier list_point du point le plus proche au point le plus loin du point a qui appartient list_point. est ce possible de le faire directement avec une fonction de comparaison qui utiliserai le x et le y . Pour l'instant je n'ai reussi ce tri qu'en créant une nouvelle classe comprenant le pointeur vers le point et la distance au point. globalement je souhaite avoir une fonction de comparason qui ressemblerai à ca(pour l'instant le compilateur n'accepte pas que j'utilise x et y dans la fonction de comparaison) : struct MyGreater2 { bool operator() (const point* c1,const point* c2) { float dist_c1=(c1->x-x)*(c1->x-x)+(c1->y-y)*(c1->y-y); float dist_c2=(c2->x-x)*(c2->x-x)+(c2->y-y)*(c2->y-y); return dist_c1 < dist_c2; }; }; |
Vue Rapide de la discussion |
---|