Liste chainé en c
je voudrai savoir la declaration du liste chainé par un maillon en c
merci
merci
1 réponse
-
ModérateurIl 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