Les Files - Jihene Tounsi

Cours développé par Dr. Jihène Tounsi
Qu’est ce qu’une File
ALGORITHME ET
STRUCTURES DE DONNÉES II
LES FILES
Une File est une structure de données séquentielle
basé sur le principe « First in First out »
La Tête de la File est le premier élément ajouté.
La Fin de la File ou la queue est le dernier élément
ajouté.
Dernier élément inséré
Dr. Jihène Tounsi
ISG de Sousse
Site web http://www.jihenetounsi.com
Email: [email protected]
Premier élément inséré
Sens d’ajout des éléments
Cours développé par Dr. Jihène Tounsi
Principe de fonctionnement
On accède à une File soit par sa tête soit par sa Fin
(ou queue).
L’ajout d’un élément à une file se fait seulement à la
Fin de la File.
La suppression d’un élément se fait seulement par la
Tête de la File.
Cours développé par Dr. Jihène Tounsi
Les opérations élémentaires
CéerFileVide
Permet
Enfiler
Permet
de créer une File vide
d’ajouter un élément à la fin de la File
Défiler
Permet
de supprimer la Tête de la file (le premier
élément ajouté à la file)
FileVide
Permet
de vérifier si la File est vide ou non
Les autres opérations découlent de ces dernières
Cours développé par Dr. Jihène Tounsi
Implémentation de la File
Le nombre des éléments à stocker n’est pas connu à
l’avance.
Utilisation d’un pointeur pour la Tête de la File.
Utilisation d’un pointeur pour la Fin de la File
Création dynamique des éléments à stocker
(variante de la liste chaînée)
Destruction des éléments supprimés (destruction de
la cellule)
Cours développé par Dr. Jihène Tounsi
Structure de la File
Un enregistrement pour la cellule ou l’élément de la
file
Donnée
: l’élément à stocker.
Un pointeur sur l’élément Suivant.
Un enregistrement pour la file
Un
pointeur sur la Tête de la File
Un pointeur sur la Fin de la file
Cours développé par Dr. Jihène Tounsi
Structure de la File
Algorithme_ExempleFile;
Type
Element = enregistrement
Donnée:entier
Suiv:^element
Fin enregistrement
File=Enregistrement
Tête:^element
Fin:^élément
Fin Enregistrement
Variables
F:File
Debut
….
Fin.
Cours développé par Dr. Jihène Tounsi
Les opérations élémentaires
FileVide(F:File):booléen
Une
fonction qui Retourne Vrai si la file est vide Faux
sinon.
Algorithme_ExempleFile;
Type
…
Fonction FileVide(F:File):booléen
Debut
/*Si la File est vide càd que la tête
de la File est Nulle. Il ne pointe sur
rien*/
Si(F.Tête==Null) alors
Retourner Vrai
Sinon
Retourner Faux
Fin Si
Fin Fonction
…
Debut
….
Fin.
Cours développé par Dr. Jihène Tounsi
Les opérations élémentaires
Enfiler(F:File par adresse, e:entier)
Cours développé par Dr. Jihène Tounsi
Les opérations élémentaires
Un procédure qui change l’état de la File actuelle.
e: l’élément à ajouter à la File.
Les étapes de l’opération :
Une fonction retournant l’élément stocké à la Tête de la File.
Les étapes de l’opération :
Créer un nouvel élément de type élément (NC).
Vérifier que l'élément a bien été créé.
Défiler(F:File par adresse):entier
Vérifier si la File n'est pas vide.
Si elle ne l'est pas
Affecter « e » à la donnée de l’élément créé et la valeur « Null »
au champs Suiv.
Si la File est vide
Affecter NC à la Fin et à la Tête de la File.
Sinon
Affecter NC au champs « Suiv » de la Fin de la File
Changer la Fin de la File.
File Vide
L’élément n’a pas été créé : Message d’erreur
Stocker dans un élément temporaire (NC) la tête de la File.
Stocker dans une variable locale la valeur étant stockée dans la Tête de la
File.
Décaler la Tête de la File
Supprimer l’élément pointé par NC.
Si la nouvelle Tête de File est Nulle
Mettre Fin de la File à Null.
Retourner la valeur de l’élément défilée (variable locale).
Message d’erreur
Retourner Null
Exercice
Nous voulons créer un algorithme qui simule
l’ordonnancement des processus en utilisant la structure
de la File.
Afficher le Nom du Processus et son Temps d’exécution
lorsqu’il est en état « élu ».
Nous allons supposer que les dates d’arrivée sont toutes à
zéro.
L’ordonnancement à faire
Fifo
Priorité statique
Un algorithme principal avec Un menu principal
Initialisation des processus
Choisir l’un des deux ordonnancements.
Cours développé par Dr. Jihène Tounsi
Fin du chapitre 4…