Liste des piles
Activité Terminale NSI – Listes, piles et files 1/12
Objectifs pédagogiques : ✓ Types abstraits : liste, pile et file
✓ Distinguer les modes FIFO (first in first out) et LIFO (last in first out) des piles et des files. Les listes, les piles (stack en anglais) et les files (queue en anglais) sont des structures abstraites de données fondamentales en informatique. Elles diffèrent par les conditions d’ajout et d’accès aux éléments qui les …afficher plus de contenu…
Une liste L est composée de 2 parties : • sa tête (souvent noté car), qui correspond au dernier élément ajouté à la liste ;
• sa queue (souvent noté cdr) qui correspond au reste de la liste ;
Le langage de programmation Lisp (inventé par John McCarthy en 1958) a été l’un des premiers langages de programmation à introduire cette notion de liste (Lisp signifie "list processing"). Voici les opérations qui peuvent être effectuées sur une liste : Actions Instruction
Créer une liste L vide L = vide()
Tester si la liste L est vide estVide(L)
Ajouter un élément x en tête de la liste L ajouteEnTete(x,L)
Supprimer la tête x d’une liste L et renvoyer cette tête x supprEnTete(L)
Compter le nombre d’éléments dans une liste L …afficher plus de contenu…
Si l'on veut insérer une nouvelle donnée, on doit créer un nouveau tableau plus grand et déplacer les éléments du premier tableau vers le second tout en ajoutant la donnée au bon endroit !
Dans certains langages de programmation, on trouve une version "évoluée" des tableaux : les tableaux dynamiques.
Les tableaux dynamiques ont une taille qui peut varier. Il est donc relativement simple d'insérer des éléments dans le tableau. Ce type de tableaux permet d'implémenter facilement le type abstrait liste (de même pour les piles et les