Pile Et File
Pile Et File
Pile Et File
Algorithmique et structures de
données II
(Cours 5)
La Pile et la File
1
1. Présentation des Piles
2
2. Manipulation d’une Pile
Pour cela, on peut utiliser les procédures et les fonctions suivantes ayant pour tâches:
2.1. Création d’une Pile vide:
Procédure Créer_Pile(Var P:Pile)
Début
P←Nil
Fin
2.2. Vérification si la pile P est vide:
Fonction Pile_Vide(P:Pile): booléen
Début
retourner (P=Nil) //renvoie vrai si P est NIL
Fin
2.3. Accéder au sommet de la pile P:
Fonction Accès_Sommet(P:Pile): entier
Début
retourner (P^.donnee)
Fin 5
3
2. Manipulation d’une Pile
2.5. Supprimer un élément de la Pile:
Procédure Dépiler (var P:Pile) Fonction Dépiler ( P:Pile): entier
Variable Variable
O: ^ cellule O: ^ cellule
Début X: entier
si ( non Pile_Vide(P)) alors Début
O←P si ( non Pile_Vide(P)) alors
P←P ^.suivant X ← P ^.donnee
libérer (O) O←P
sinon P←P ^.suivant
écrire (‘’ Pile vide ‘’) libérer (O)
finsi retourner (X)
Fin Finsi
Fin
7
4
4. Présentation des Files
4.1. Définition:
Une File est une structure de données dynamique dans laquelle
on insert de nouveaux éléments à la fin (queue) et où on enlève
des éléments au début (tête de file). On parle de mode FIFO
(First In First Out).
Par exemple, la file d’attente des clients devant un guichet. On
retrouve également les files d’attentes dans les programmes de
traitement de transactions telle que les réservations d’avions.
in out
Figure 2: Structure d’une FILE
9
File = enregistrement
tete: ^ cellule
queue: ^ cellule
Fin File
Variables F: File 10
5
5. Manipulation d’une File
Pour cette manipulation, on peut utiliser les modules suivants ayant pour tâches:
5.1. Création d’une File vide:
Procédure créer_File (var F:File)
Début
F. tete←Nil
F. queue←Nil
Fin
5.2. Test si la File est vide:
Fonction File_vide ( F:File): booleen
Début
retourner (F. tete = Nil)
Fin
5.3. Accès à la tête de la File:
Fonction Accès_Tête ( F:File): entier
Début
retourner (F. tete ^. donnee) 11
Fin
6
5. Manipulation d’une File
5.5. Extraction du sommet de la file: