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
|