efrei/algorithmique/piles-files/pile.algo

37 lines
840 B
Text
Raw Normal View History

2021-09-06 15:26:16 +02:00
Algorithme : Création d'une pile
Début
2021-10-22 21:17:44 +02:00
Type Pile: ^cellule
cellule: Enregistrement
val : Entier
suiv : Pile
Fin cellule
2021-09-06 15:26:16 +02:00
Variable P : Pile
Procédure InitialiserPile(var P : Pile)
2021-10-22 21:17:44 +02:00
P <- nil
2021-09-06 15:26:16 +02:00
FinProcédure
Fonction EstPileVide(var P : Pile) : Booléen
2021-10-22 21:17:44 +02:00
Si P = nil Alors
2021-09-06 15:40:17 +02:00
Retourner(Vrai)
2021-10-22 21:17:44 +02:00
Sinon
Retourner(Faux)
2021-09-06 15:40:17 +02:00
FinSi
2021-09-06 15:26:16 +02:00
FinFonction
Procédure Empiler(var x : Entier, var P : Pile)
2021-10-22 21:17:44 +02:00
Var Nv : Pile
Allouer(Nv)
Nv^.val <- x
Nv^.suiv <- P
P <- Nv
2021-09-06 15:26:16 +02:00
FinProcédure
Procédure Dépiler(var x : Entier, var P : Pile)
2021-10-22 21:17:44 +02:00
Var S : Pile
Si NON(EstPileVide(P)) Alors
S <- P
x <- P^.val
P <- P^.suiv
Libérer(S)
FinSi
2021-09-06 15:26:16 +02:00
FinProcédure
Fin