From 735c1d0c2476cf0cccece11eb4ef8b99aaf19122 Mon Sep 17 00:00:00 2001
From: Orestis <orestis.malaspinas@pm.me>
Date: Wed, 24 Nov 2021 01:24:05 +0100
Subject: [PATCH] started files

---
 slides/cours_9.md                        |  35 +++++++++++++++++++++++
 slides/figs/fig_queue_representation.png | Bin 0 -> 7251 bytes
 2 files changed, 35 insertions(+)
 create mode 100644 slides/figs/fig_queue_representation.png

diff --git a/slides/cours_9.md b/slides/cours_9.md
index 8f5474e..1216294 100644
--- a/slides/cours_9.md
+++ b/slides/cours_9.md
@@ -656,3 +656,38 @@ void stack_destroy(stack *s) {
 }
 ```
 
+# La file d'attente (1/N)
+
+* Structure de données abstraite permettant le stockage d'éléments.
+* *FIFO*: First In First Out, ou première entrée première sortie.
+* Analogue de la vie "réelle"":
+    * File à un guichet,
+    * Serveur d'impressions,
+    * Mémoire tampon, ...
+
+## Fonctionnalités
+ 
+ . . .
+
+* Enfiler, ajouter un élément à la fin de la file.
+* Défiler, extraire un élément au devant de la file.
+* Tester si la file est vide.
+
+. . .
+
+* Lire l'élément de la fin de la file.
+* Lire l'élément du devant de la file.
+* Créer une liste vide.
+* Détruire une liste vide.
+
+# La file d'attente (2/N)
+
+## Implémentation possible
+
+* La structure file, contient un pointeur vers la tête et un vers la queue.
+* Entre les deux, les éléments sont stockés dans une liste chaînée (comme une
+  pile).
+
+![Illustration d'une file
+d'attente.](figs/fig_queue_representation.png)
+
diff --git a/slides/figs/fig_queue_representation.png b/slides/figs/fig_queue_representation.png
new file mode 100644
index 0000000000000000000000000000000000000000..262d9a7ee941a10e3d50a19ac87a287d6f42ce71
GIT binary patch
literal 7251
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
Kb6Mw<&;$VDzVn&@

literal 0
HcmV?d00001

-- 
GitLab