Une solution consiste à séparer les données et les structures de classement.
Par exemple, si tu veux utiliser des listes chainées, tu déclares les structures suivantes:
Tu as donc autant de liste chainées que de critères de tri.
Lorsque tu dois ajouter un élément, tu crées une nouvelle structure COTATION et tu l'insères dans chacune des listes chainées.
Ensuite, il ne te reste plus qu'à utiliser la liste correspondant au critère de tri.
Evidemment, si tu préfères des arbres binaires, l'idée de base est la même, il suffit de remplacer les listes chainées par des arbres.
# Séparer données et organisation
Posté par netsurfeur . En réponse au message Listes chainées doubles et tri. Évalué à 3.
typedef struct cotation { char nom[50]; int valeur_titre; char date[10]; int nombre_titres; } COTATION; typedef struct chaine { struct chaine *precedent; struct chaine *suivant; COTATION *donnee; } CHAINE; CHAINE liste_nom; CHAINE liste_date;Tu as donc autant de liste chainées que de critères de tri. Lorsque tu dois ajouter un élément, tu crées une nouvelle structure COTATION et tu l'insères dans chacune des listes chainées. Ensuite, il ne te reste plus qu'à utiliser la liste correspondant au critère de tri. Evidemment, si tu préfères des arbres binaires, l'idée de base est la même, il suffit de remplacer les listes chainées par des arbres.