• # Séparer données et organisation

    Posté par . En réponse au message Listes chainées doubles et tri. Évalué à 3.

    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:
    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.