dans les deux sens dans la liste, soit vers la queue (fin), soit vers la tête. Ces listes sont dites bilatères. 
Les traitements doivent être adaptés en conséquence. Prenez le problème à l’envers : vous avez deux pointeurs à 
mettre à jour. Si vous savez le faire dans un sens (comme les listes simples) vous savez le faire dans l’autre, vous 
changez juste de sens. Il y a donc deux fois plus d’opérations de chaînage : 
Chaînage avant 
q pPrec→pSuiv ← pNouveau 
q pNouveau→pSuiv ← pSuivant 
Chaînage arrière 
q pSuivant→pPrec ← pNouveau 
q pNouveau→pPrec ← pPrec 
Les listes bilatères peuvent aussi être circulaires et/ou triées. 
d. Files et piles 
Dans une file d’attente, dans un magasin, un cinéma, bref dans une queue, le premier arrivé est le premier servi. En 
anglais, cela se traduit par "First In, First Out", soit FIFO en abrégé. 
Une file d’attente de type FIFO peut être représentée par une liste chaînée. Chaque nouvel élément est rajouté en 
fin de liste, tandis que les éléments sont traités les uns après les autres depuis la tête de la liste. 
Quand vous faites la vaisselle, les assiettes sont empilées les unes sur les autres. Quand vous lavez les assiettes 
vous prenez celles du dessus en descendant au fur et à mesure. Si des nouvelles assiettes sales sont rajoutées elles 
le sont sur le dessus de la pile. 
Le principe est le même en informatique quand vous voulez traiter des éléments au fur et à mesure de leur arrivée : 
les  derniers  arrivés  sont  traités  en  premier.  La  pile  peut  être  représentée  par  une  liste  chaînée  :  les  nouveaux 
éléments sont systématiquement rajoutés en tête de liste et les éléments sont toujours traités depuis cette tête. Si 
les éléments arrivent plus vite que leur traitement, ceux arrivés en premier risquent d’être traités bien tard. 
- 13 -
© ENI Editions - All rigths reserved - Jonifar lina
186
Précédent

- 186/220

Suivant