Vous êtes sur la page 1sur 3

CPGE-TAZA 2015/2016

Les piles (stack) et les files


Définition
Une pile est un cas particulier de liste pour laquelle on n’accède qu’à un seul élément : le dernier.
Structure de données mettant en œuvre le principe LIFO : Last In, First Out

Fonctions de base
Empiler (PUSH) : insérer un élément dans la pile, i.e. stocker une valeur au début de la pile
Dépiler (POP) :supprimer un élément d’une pile, i.e. retire la valeur qui se trouve au sommet de la pile
Sommet (TOP) : retourner l’objet qui se trouve au sommet de la pile (sans l’extraire)
estVide : déterminer si la pile est ou non vide
Taille : retourner le nombre d’objets appartenant à la pile
creerPile : instancier une pile vide

Implémentations des fonctions de pile :


On représente très facilement une pile avec une liste en Python

a- Fonction empiler:
def empiler(e,P):
# empiler e en tete de la pile P
return [e]+P

b- Fonction Dépiler
def depiler(P):
# retirer l’element au sommet de la pile
if estVide(p):
return []
else:
P[1:]

c- Fonction sommet:
def sommet(P):
# retourne l'objet qui se trouve au sommet de la pile (sans l'extraire)
if estVide(P):
print ("Pile vide")
else:
return P[0]

d- Fonction estVide:
def estVide(P):
# déterminer si la pile est ou non vide

1
CPGE-TAZA 2015/2016

return P==[]

e- Fonction Taille:
def taille(P):
# retourner le nombre d’objets appartenant à la pile
return len(P)

f- Fonction creerPile:
def creerPile():
# instancier une pile vide
return []

Les files (queues)


Définition
Une file est un cas particulier de liste pour laquelle les insertions se font toutes d’un même côté et les
suppressions toutes de l’autre côté.
Cette structure de données met en oeuvre le principe FIFO : First In, First Out

Les fonctions de base


CreerFile : création d’une file vide
Enfiler : insertion d’une valeur à la fin de la file
Defiler : récupération de la valeur de l’objet qui se trouve au début de la file et libération de la place
estVide : teste si la file est vide
Premier: donne l’élément en tète de la file F

Implémentations des fonctions de file :


On représente très facilement une file avec une liste en Python

a- Fonction CreeFile:
def creeFile():
# crée une file vide
return []

b- Fonction enfiler:
def enfiler(e,F):
# ajoute e à la fin de la file F
return F+[e]
c-Fonction defiler
def defiler(F):
# retire l’élément au sommet de la File
if estVide(F):
return []
else:
F[1:]

2
CPGE-TAZA 2015/2016

d- Fonction Premier
def premier(F):
# donne l’element en tete de la file F
if F == []:
print ("File vide")
else:
return F[0]
e- Fonction estVide
def estVide(F):
# teste si la file est vide
return F== []

Vous aimerez peut-être aussi