2021-09-06 15:26:16 +02:00
|
|
|
Algorithme : Création d'une file
|
|
|
|
|
|
|
|
Début
|
2021-10-22 21:35:16 +02:00
|
|
|
Type Liste : ^cellule
|
|
|
|
cellule : Enregistrement
|
|
|
|
val : Entier
|
|
|
|
suiv : Liste
|
|
|
|
Fin cellule
|
|
|
|
File : Enregistrement
|
|
|
|
Tête : Liste
|
|
|
|
Queue : Liste
|
|
|
|
Fin File
|
2021-09-06 15:26:16 +02:00
|
|
|
Variable F : File
|
|
|
|
Procédure InitialiserFile(var F : File)
|
2021-10-22 21:35:16 +02:00
|
|
|
F.Tête <- nil
|
|
|
|
F.Queue <- nil
|
2021-09-06 15:26:16 +02:00
|
|
|
FinProcédure
|
|
|
|
Fonction EstFileVide(var F : File) : Booléen
|
2021-10-22 21:35:16 +02:00
|
|
|
Si F.Tête = nil Alors
|
2021-09-06 15:36:51 +02:00
|
|
|
Retourner(Vrai)
|
2021-10-22 21:35:16 +02:00
|
|
|
Sinon
|
|
|
|
Retourner(Faux)
|
2021-09-06 15:36:51 +02:00
|
|
|
FinSi
|
2021-09-06 15:26:16 +02:00
|
|
|
FinFonction
|
2021-09-06 15:36:51 +02:00
|
|
|
Procédure Enfiler(var x : Entier, var F : File)
|
2021-10-22 21:35:16 +02:00
|
|
|
Var Nv : Liste
|
|
|
|
Allouer(Nv)
|
|
|
|
Nv^.val <- x
|
|
|
|
Nv^.suiv <- nil
|
|
|
|
Si F.Queue != nil Alors
|
|
|
|
F.Queue^.suiv <- Nv
|
|
|
|
Sinon
|
|
|
|
F.Tête <- Nv
|
|
|
|
FinSi
|
|
|
|
F.Queue <- Nv
|
2021-09-06 15:26:16 +02:00
|
|
|
FinProcédure
|
|
|
|
Procédure Défiler(var x : Entier, var F : File)
|
2021-10-22 21:35:16 +02:00
|
|
|
Var P : Liste
|
|
|
|
Si F.Tête != nil Alors
|
|
|
|
P <- F.Tête
|
|
|
|
x <- P^.val
|
|
|
|
F.Tête <- F.Tête^.suiv
|
|
|
|
Libérer(P)
|
|
|
|
Sinon
|
|
|
|
F.Queue <- nil
|
|
|
|
FinSi
|
2021-09-06 15:26:16 +02:00
|
|
|
FinProcédure
|
|
|
|
Fin
|