Liste chainé en c

Utilisateur anonyme -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
je voudrai savoir la declaration du liste chainé par un maillon en c
merci

1 réponse

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Il faut impérativement décrire un maillon de la liste. Ici pour stocker l'info je mets un pointeur void *, mais si tu ne stockes qu'une liste chainée d'entier, c'est plus simple de stocker directement un entier plutôt qu'une adresse.
    struct maillon{
       struct maillon * next;
       void * data:
    };
    

    Ensuite il est pratique d'avoir une structure qui va permettre de gérer facilement ta liste chaînée, même si on peut s'en passer :
    struct list{
       struct maillon * begin;
       struct maillon * end;
    };

    Cette dernière structure permettra de rajouter un maillon en fin de liste immédiatement (O(1)) plutôt que de parcourir toute la liste (O(n)). A noter qu'en C++ il existe une classe template de liste chainée (class list), une de liste triée (class multiset), et une de liste triée à éléments unique (class set).

    Bonne chance
    0