05/05/2017
1
ALGORITHME ET
STRUCTURES DE DONNÉES II
LES PILES
Élaboré par : Dr. Jihène Tounsi
ISG de Sousse
Tounsi.jihene@yahoo.fr
Qu’est ce qu’une pile
Une pile est une structure de données séquentielle
basé sur le principe « Last in first out »
Le sommet de la pile est le dernier élément ajouté.
Sommet
Dernier élément inséré
Premier élément inséré
Sens d’ajout
des éléments
05/05/2017
2
Principe de fonctionnement
On accède à une pile seulement à travers son
sommet.
Quand on ajoute un élément à la pile, le sommet
devient le nouvel élément ajouté. Ainsi, le sommet
pointe toujours sur le dernier élément de la pile.
Pour accéder à un élément de la pile, nous devons
dépiler les éléments à partir du sommet afin
d’accéder à l’élément en question.
Les opérations élémentaires
CéerPileVide
Permet de créer une pile vide
Empiler
Permet d’ajouter un élément à la pile
Dépiler
Permet de supprimer le sommet de la pile si elle n’est
pas vide
PileVide
Permet de vérifier si la pile est vide ou non
Les autres opérations découlent de ces dernières
05/05/2017
3
Implémentation de la pile
Implémentation avec une taille illimitée
Le nombre des éléments à stocker n’est pas connu à
l’avance.
Utilisation des pointeurs.
Création dynamique des éléments à stocker (variante de la
liste chaînée)
Implémentation avec une taille limitée
Le nombre maximale des éléments à stocker est connu à
l’avance.
Utilisation du tableau.
Implémentation contigüe et statique.
Implémentation dynamique
05/05/2017
4
Structure de la pile
Donnée : l’élément à stocker.
Un pointeur sur l’élément précédent.
Algorithme_ExemplePile;
Type
Element = enregistrement
Donnée:entier
Prec:^element
Fin enregistrement
Pile=^element
Variables
P:Pile
Debut
….
Fin.
Les opérations élémentaires
PileVide(P:Pile):booléen
Une fonction qui Retourne Vrai si la pile est vide Faux
sinon.
Algorithme_ExemplePile;
Type
Fonction PileVide(P:Pile):booléen
Debut
/*Si la Pile est vide càd que le
pointeur est Nulle. Il ne pointe sur
rien*/
Si(P==Null) alors
Retourner Vrai
Sinon
Retourner Faux
Fin Si
Fin Fonction
Variables
P:Pile
Debut
….
Fin.
05/05/2017
5
Les opérations élémentaires
Empiler(P:Pile , e:entier)
e: l’élément à ajouter à la pile.
Les étapes de l’opération :
Créer un nouvel élément de type Pile.
Vérifier que l'élément a bien été créé.
Affecter « e » à la donnée de l’élément créé.
Changer le sommet de la pile.
On fait pointer le sommet de la pile sur cet élément.
Les opérations élémentaires
Dépiler(P:Pile):entier
Une fonction retournant l’élément stocké au sommet de la
pile.
Les étapes de l’opération :
Vérifier si la pile n'est pas vide.
Si elle ne l'est pas, stocker dans un élément temporaire l'avant-
dernier élément de la pile.
Stocker dans une variable locale la valeur étant stockée dans le
dernier élément de la pile.
Supprimer le dernier élément.
Faire pointer la pile vers notre élément temporaire.
Retourner la valeur dépilée.
1 / 9 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !