Corrigé du TD Pile et File
1. Application de cours
1. 1. Pile
État initial de la pile :
Question 1 : État après Depile(), Depile(), Empile(7), Empile(8), Depile()
Exécution pas à pas :
| Opération | État de la pile | Élément retourné |
|---|---|---|
| Initial | [1, 2, 3, 4, 5] | - |
| Depile() | [1, 2, 3, 4] | 5 |
| Depile() | [1, 2, 3] | 4 |
| Empile(7) | [1, 2, 3, 7] | - |
| Empile(8) | [1, 2, 3, 7, 8] | - |
| Depile() | [1, 2, 3, 7] | 8 |
État final :
top() renvoie : 7
Question 2 : Pour que Est_vide() soit vrai, il faut dépiler tous les éléments.
Depile() → renvoie 5
Depile() → renvoie 4
Depile() → renvoie 3
Depile() → renvoie 2
Depile() → renvoie 1
Est_vide() → True
Réponse : 5 appels à Depile()
Question 3 : Créer une pile contenant 19982018 (1 en bas de pile)
La pile doit ressembler à :
Séquence de méthodes :
1. 2. File
État initial de la file :
Question 1 : État après Defile(), Defile(), Enfile(7), Enfile(8), Defile()
Exécution pas à pas :
| Opération | État de la file | Élément retourné |
|---|---|---|
| Initial | [5, 4, 3, 2, 1] | - |
| Defile() | [5, 4, 3, 2] | 1 |
| Defile() | [5, 4, 3] | 2 |
| Enfile(7) | [7, 5, 4, 3] | - |
| Enfile(8) | [8, 7, 5, 4, 3] | - |
| Defile() | [8, 7, 5, 4] | 3 |
État final :
top() renvoie : 4 (élément en tête, prêt à sortir)
Question 2 : Pour que Est_vide() soit vrai, il faut défiler tous les éléments.
Defile() → renvoie 1
Defile() → renvoie 2
Defile() → renvoie 3
Defile() → renvoie 4
Defile() → renvoie 5
Est_vide() → True
Réponse : 5 appels à Defile()
Question 3 : Créer une file contenant 19982018 (1 en tête de file)
La file doit ressembler à :
Pour que 1 soit en tête (premier à sortir), il faut l'enfiler en premier :
Séquence de méthodes :
Tableau récapitulatif
| Structure | Principe | Ajout | Retrait | Accès |
|---|---|---|---|---|
| Pile | LIFO (Last In First Out) | Empile (sommet) | Depile (sommet) | Top (sommet) |
| File | FIFO (First In First Out) | Enfile (queue) | Defile (tête) | Top (tête) |
Analogies pour mémoriser
| Structure | Analogie | Explication |
|---|---|---|
| Pile | Pile d'assiettes | On pose et on prend toujours par le dessus |
| File | File d'attente | Le premier arrivé est le premier servi |
| Pile | Historique du navigateur | Le bouton "retour" revient à la page précédente (la dernière visitée) |
| File | Imprimante | Les documents sont imprimés dans l'ordre d'envoi |
Auteurs : Florian Mathieu, Enzo Frémeaux, Thimothée Decooster
Licence CC BY NC
Ce cours est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.