Académique Documents
Professionnel Documents
Culture Documents
On reprsente gnralement cette structure de la manire suivante : Chane Entier Pointeur vers suivant Une liste chane se reprsente donc de la faon suivante :
En ralit la dclaration de la structure et la rcursivit de celle-ci grce des pointeurs est ncessaire car cela cre une chane d'enregistrements lis par des liens logiques, mais cela n'est pas suffisant. En effet, il est ncessaire de conserver une trace du premier enregistrement afin de pouvoir accder aux autres, c'est pourquoi un pointeur vers le premier lment de la liste est indispensable. Ce pointeur est appel pointeur de tte. D'autre part, tant donn que le dernier enregistrement ne pointe vers rien, il est ncessaire de donner son pointeur la valeur NULL :
LISTES CHAINs
Pour crer une liste chane en langage C, il s'agit dans un premier temps de dfinir la structure de donnes, ainsi qu'un pointeur vers une structure du type de celle dfinie prcdemment, afin de pointer vers la tte de la liste, c'est--dire le premier enregistrement :
struct Liste { char Chaine[16]; struct Liste * pSuivant; }; struct Liste *Nouveau; struct Liste *Tete; Tete = NULL;
d'assigner au champ pointeur du nouveau maillon, la valeur du pointeur vers le maillon de tte :
Nouveau->pSuivant = Tete;
Il est conseill de tester la valeur renvoye en retour par la fonction malloc() afin de savoir si l'allocation dynamique de mmoire s'est droule correctement.
LISTES CHAINs
le parcours de la liste chane jusqu'au dernier noeud :
if (Tete != NULL) { pCourant = Tete; while (pCourant->pSuivant != NULL) pCourant = pCourant->pSuivant; }
faire pointer le pointeur courant vers le nouveau noeud, et le nouveau noeud vers NULL :
pCourant->pSuivant = Nouveau; Nouveau->pSuivant = NULL;
On reprsente gnralement cette structure de la manire suivante : Donnes Pointeur vers suivant Pointeur vers prcdent Une liste chane double se reprsente donc de la faon suivante :