From 4380c0c727e2a83f6c6c8edbe2609a766f39b80c Mon Sep 17 00:00:00 2001 From: Orestis <orestis.malaspinas@pm.me> Date: Wed, 24 Nov 2021 08:32:08 +0100 Subject: [PATCH] added enqueue. missing dequeue --- slides/cours_9.md | 76 +++++++++++++++++++++ slides/figs/fig_empty_queue_insert.png | Bin 0 -> 13624 bytes slides/figs/fig_non_empty_queue_insert.png | Bin 0 -> 20622 bytes 3 files changed, 76 insertions(+) create mode 100644 slides/figs/fig_empty_queue_insert.png create mode 100644 slides/figs/fig_non_empty_queue_insert.png diff --git a/slides/cours_9.md b/slides/cours_9.md index 1216294..58e9e07 100644 --- a/slides/cours_9.md +++ b/slides/cours_9.md @@ -691,3 +691,79 @@ void stack_destroy(stack *s) {  +## Structure de données en C? + +. . . + +```C +txpedef struct _element { // Elément de liste + int data; + struct _element* next; +} element; + +typedef struct _queue { // File d'attente: + element* head; // tête de file d'attente + element* tail; // queue de file d'attente +} queue; +``` + +# Fonctionnalités d'une file d'attente (gitlab) + +## Creation et consultations + +. . . + +```C +void queue_init(queue *fa); // head = tail = NULL +bool queue_is_empty(queue fa); // checks if queue is empty +int queue_tail(queue fa); // returns the value of the tail +int queue_head(queue fa); // returns the value of the head +``` + +## Manipulations et destruction + +. . . + +```C +void queue_enqueue(queue *fa, int val); // adds an element before the tail +int queue_dequeue(queue *fa); // removes the head and returns stored value +void queue_destroy(queue *fa); // dequeues everything into oblivion +``` + +# Enfilage + +## Deux cas différents: + +1. La file est vide (faire un dessin): + +. . . + +{width=40%} + +2. La file n'est pas vide (faire un dessin): + +. . . + +{width=70%} + +<!-- # Défilage --> + +<!-- Voici l'entête de la procédure: `int queue_extraire(queue* fa);` --> + +<!-- On commence par récupérer, la valeur en tête de file d'attente via l'appel `queue_tete(*fa);` --> + +<!-- Puis on met un pointeur temporaire sur l'élément en tête, avant de déplacer le pointeur de tête sur l'élément suivant. --> +<!-- Finalement, on désalloue la mémoire --> + +<!--  --> + +<!-- Si la file d'attente n'avait qu'un seul élément, alors il faudrait mettre le pointeur `fa->debut` à `NULL`. --> +<!-- Dans ce cas, à la suite du point (3), le pointeur `fa->tete` se retrouve à `NULL`. On doit donc ajouter l'instruction : --> + +<!-- ```C --> +<!-- if (NULL == fa>tete) { --> +<!-- fa>debut = NULL; --> +<!-- } --> +<!-- ``` --> diff --git a/slides/figs/fig_empty_queue_insert.png b/slides/figs/fig_empty_queue_insert.png new file mode 100644 index 0000000000000000000000000000000000000000..62d73bdb4f2aaacb9060748b89575cb0ad1a6f4a GIT binary patch literal 13624 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 literal 0 HcmV?d00001 diff --git a/slides/figs/fig_non_empty_queue_insert.png b/slides/figs/fig_non_empty_queue_insert.png new file mode 100644 index 0000000000000000000000000000000000000000..2d0c4aa785e63dee2b3c57c6643eab01b706aa49 GIT binary patch literal 20622 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 YZPs*F1_dVz1_lNOPgg&ebxsLQ0LliAUH||9 literal 0 HcmV?d00001 -- GitLab