Bonsoir, mon problème est que j'ai une liste ( pas de la library liste.h ) de client ( une class client ) et je dois performer des tri croissant ou décroissant selon l'id du client ou son nombre d'achat.
Voici ma fonction de tri de ma classe liste
ma fonction tri marche très bien pour l'id du client mais je ne peux pas le faire pour le total d'achat car dans ma class client les opérateurs '<' et '>' son déja surchargé pour retourné le plus grand/petit id du client.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 void Trier(string option) { if (_compte > 1) { NoeudPtr pivot = _tete; NoeudPtr courant; NoeudPtr reserve; while (pivot->suivant != _tete) { courant = pivot->suivant; reserve = pivot; while (courant != _tete) { if(option == "croissant") { if (*reserve->objetPtr > *courant->objetPtr) reserve = courant; } if(option == "desc") { if (*reserve->objetPtr < *courant->objetPtr) reserve = courant; } courant = courant->suivant; } if (reserve!=pivot) { Objet* objetPtr = reserve->objetPtr; reserve->objetPtr = pivot->objetPtr; pivot->objetPtr = objetPtr; } pivot = pivot->suivant; } } }
Je ne sais pas si vous comprenez se que je veux dire ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 friend bool operator>(const Clients& client1,const Clients& client2) { return ( client1.GetIdClient() > client2.GetIdClient() ); } friend bool operator<(const Clients& client1, const Clients& client2) { return ( client1.GetIdClient() < client2.GetIdClient() ); }
Partager