Les Files.

Introduction.

Dans le chapitre précédent nous avons vu les piles qui sont du type "dernier arrivé, premier sortie". Nous allons voir maintenant une structure de type "premier entrée, premier sortie" ("first in, first out).

Une pile

Une pile est une structure qui permet de stocker des données, la structure va garantir que la donnée qui va sortir sera la donnée la plus vielle (entrée avant les autres) de la structure.

File

Pile

Interface.

Comme pour les piles l'interface des files est minimale :

Plus secondaire l'utilisateur peut :

Exercices

On a une file initialement vide on effectue les opérations suivantes :

Quel sera le dernier nombre affiché.

Première implémentation.

Dans la première implémentation on peut utiliser le type list de python combiné avec pop et append.

Exercices
  1. Faire des test unitaire (oui avant même d'avoir implémenté les files).
  2. Compléter l'implémentation d'une file :
  3. Discuter de la complexité des méthodes.

Deuxième implémentation.

Dans la deuxième implémentation on utilise deux piles, une pour l'entrée et l'autre pour la sortie, si le pile de sortie est vide on y place les éléments de la pile d'entrée.

Exercices
  1. Réaliser la deuxième implémentation.
  2. Discuter sur la complexité des méthodes.
  3. Ajouter la taille des fils.