Vous êtes sur la page 1sur 21

Piles et Files

Piles et Files

A. MAHBOUB

Faculté des Sciences et Techniques de Tanger 1/21

2020/2021

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 1/21


Piles et Files
Piles et Files

1 Introduction

2 Piles
Opérations sur les piles

3 Files
Opérations sur les files

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 2/21


Piles et Files
Piles et Files
Introduction

Définition

Les piles et les files sont des structures de données ordonnées,


mais elles ne permettent l’accès qu’à une seule donnée. Les piles
(stack LIFO : Last In First Out) correspondent à une pile
d’assiettes : on prend toujours l’élément supérieur, le dernier
empilé. Les files (on dit aussi queues) (stack FIFO : First In
First Out) correspondent aux files d’attente : on prend toujours
le premier élément, donc le plus ancien.
Les piles et les files que nous allons découvrir dans ce cours,
présentent des variantes un peu particulières des listes chaı̂nées.
Les piles et les files sont très utiles pour des programmes qui
doivent traiter des données qui arrivent au fur et à mesure.

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 3/21


Piles et Files
Piles et Files
Introduction

Principes de base

Dans une pile, l’élément supprimé est le dernier inséré (LIFO


– Last In First Out). Dernier arrivé premier parti.
Dans une file, l’élément supprimé est le plus ancien (FIFO –
First In First Out ) Premier arrivé premier parti.

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 4/21


Piles et Files
Piles et Files
Piles

Piles

Une pile est un ensemble de valeurs, elle permet des inser-


tions ou des suppressions qu’à une seule extrémité, appelée
sommet de la pile ;
Empiler un élément sur une pile consiste à insérer cet élément
au sommet de la pile ;
Dépiler un élément de la pile consiste à supprimer l’élément
placé au sommet (dans la pile d’assiettes seule peut être
retirée celle qui se trouve au sommet).

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 5/21


Piles et Files
Piles et Files
Piles

Piles
Elle s’agit donc d’une structure de type LIFO (Last In First
Out). On ne travaille que sur le sommet de la pile. Les piles
sont comparables à des piles d’assiettes. On associe à une pile
les termes de :
PUSH pour empiler, ajouter un élément ;
POP pour dépiler, supprimer un élément.

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 6/21


Piles et Files
Piles et Files
Piles
Opérations sur les piles

manipulation d’une pile

En termes d’implémentation, une pile est un enregistrement


avec :
Une structure de données permet d’enregistrer les valeurs
(elle peut être statique ou dynamique).
Une variable sommet indique le sommet de la pile.
Les opérations autorisées avec une pile sont :
empiler, toujours au sommet et jusqu’à la limite de la mémoire.
dépiler, toujours au sommet, si la pile n’est pas vide.
vérifier si la pile est vide ou non.

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 7/21


Piles et Files
Piles et Files
Piles
Opérations sur les piles

Manipulation d’une pile

La manipulation d’une pile revient à l’appel de fonctions et


procédures, ils sont :
1 Init Pile : permet d’initialiser une pile vide lors de sa création ;
2 Pile vide : pour vérifier si une pile est vide ou non et savoir
alors s’il reste des valeurs à traiter ou non ;
3 Pile pleine : pour vérifier s’il est possible de rajouter ou non
un nouveau élément (utilisée dans le seul cas des piles sta-
tiques) ;
4 Empiler : permet d’ajouter une nouvelle valeur à la pile ;
5 Dépiler : permet de supprimer une valeur (se trouvant au
sommet de la pile) et de la renvoyer en paramètre.
Dans ce chapitre on va étudier les piles dynamiques.

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 8/21


Piles et Files
Piles et Files
Piles
Opérations sur les piles

Déclaration d’une pile

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 9/21


Piles et Files
Piles et Files
Piles
Opérations sur les piles

Initialisation d’une pile

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 10/21


Piles et Files
Piles et Files
Piles
Opérations sur les piles

Empiler une pile

Empiler un élément revient à faire une insertion en tête dans la


liste chaı̂née.
Puisqu’il s’agit d’une gestion dynamique de la mémoire, il n’est
pas nécessaire de vérifier si la pile est pleine.

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 11/21


Piles et Files
Piles et Files
Piles
Opérations sur les piles

dépiler une pile


Dépiler revient à faire une suppression en tête.

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 12/21


Piles et Files
Piles et Files
Piles
Opérations sur les piles

Afficher les éléments d’une pile

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 13/21


Piles et Files
Piles et Files
Files

Principe

Une file est une structure de données dans laquelle on insère des
nouveaux éléments à la fin (queue de file) et où on enlève des
éléments au début (tête de file). Il s’agit donc d’une structure
de type FIFO (First In First Out).
1 Un élément ne peut être ajouté qu’à la queue de la file.
2 Un élément ne peut être retiré qu’à la tête de la file

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 14/21


Piles et Files
Piles et Files
Files

Exemples d’applications

1 Gestion des tâches par un moteur multitâches dans un système


d’exploitation.
2 Gérer des processus en attente d’une ressource système (par
exemple Traiter la liste des travaux à éditer sur une impri-
mante dans l’ordre qu’ils arrivent)

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 15/21


Piles et Files
Piles et Files
Files
Opérations sur les files

Opérations autorisées

1 Créer la file
2 Tester si la file est vide
3 Tester si la file est pleine
4 Enfiler un nouvel élément : le mettre en dernier ( la queue )
et jusqu’à la limite de la mémoire.
5 Défiler un élément : supprimer le premier élément (la tête)
si la file n’est pas vide.
On peut implémenter une file dans un tableau (file statique) ou
dans une liste chaı̂née (file dynamique). C’est l’implémentation
en liste chaı̂née qui est présentée dans ce chapitre.

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 16/21


Piles et Files
Piles et Files
Files
Opérations sur les files

Déclaration d’une File

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 17/21


Piles et Files
Piles et Files
Files
Opérations sur les files

Initialisation d’une File

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 18/21


Piles et Files
Piles et Files
Files
Opérations sur les files

Enfiler une File


Enfiler un élément revient à faire une insertion en tête dans la
file. Puisqu’il s’agit d’une gestion dynamique de la mémoire, il
n’est pas nécessaire de vérifier si la file est pleine.

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 19/21


Piles et Files
Piles et Files
Files
Opérations sur les files

Défiler une File

Défiler revient à faire une suppression en tête.

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 20/21


Piles et Files
Piles et Files
Files
Opérations sur les files

Afficher les éléments d’une File

A. MAHBOUB Faculté des Sciences et Techniques de Tanger 21/21


Piles et Files

Vous aimerez peut-être aussi