efrei/algorithmique/piles-files/pile.algo

36 lines
840 B
Text

Algorithme : Création d'une pile
Début
Type Pile: ^cellule
cellule: Enregistrement
val : Entier
suiv : Pile
Fin cellule
Variable P : Pile
Procédure InitialiserPile(var P : Pile)
P <- nil
FinProcédure
Fonction EstPileVide(var P : Pile) : Booléen
Si P = nil Alors
Retourner(Vrai)
Sinon
Retourner(Faux)
FinSi
FinFonction
Procédure Empiler(var x : Entier, var P : Pile)
Var Nv : Pile
Allouer(Nv)
Nv^.val <- x
Nv^.suiv <- P
P <- Nv
FinProcédure
Procédure Dépiler(var x : Entier, var P : Pile)
Var S : Pile
Si NON(EstPileVide(P)) Alors
S <- P
x <- P^.val
P <- P^.suiv
Libérer(S)
FinSi
FinProcédure
Fin