Add liste chainee

This commit is contained in:
flyingscorpio@pinebookpro 2021-09-21 11:14:52 +02:00
parent 21b774e0df
commit 5c5bbdc16f

View file

@ -0,0 +1,73 @@
Algorithme : Liste chaînée et ses procédures
Début
Type Liste = ^Element
Type Element = Structure
Info : Variable
Suivant : Liste
FinStructure
Var Tete : Liste
Var L : Liste
Procédure CreerListe(n : Entier, var L : Liste)
Tete <- Nil
Pour i allant de 0 à n
Allouer(L)
Lire(L^.Info)
L^.Suivant <- Nil
Tete <- L
FinPour
FinProcédure
Procédure AffichageIter(L : Liste)
L <- Tete
Tant Que L != Nil
Ecrire(L^.Info)
L <- L^.Suivant
FinTantQue
FinProcédure
Procédure AffichageRecur(L : Liste)
Si L = Nil
Quitter
Sinon
Ecrire(L^.Info)
AffichageRecur(L^.Suivant)
FinSi
FinProcédure
Fonction Recherche(x : Entier, L : Liste) : Booléen
Si Tete = Nil
Retourner(Faux)
Sinon
Si L^.Info = x
Retourner(Vrai)
Sinon
Recherche(x, L^.Suivant)
FinSi
FinFonction
Procédure AjouterTete(x : Entier, L : Liste)
Var P : Liste
Allouer(P)
P^.Info <- x
P^.Suivant <- Tete
FinProcédure
Procédure Supprimer(x : Entier, L : Liste)
Si L = Nil
Quitter
Sinon Si L^.Info = x
Si L^.Suivant = Nil
Desallouer(L^.Suivant)
L <- Nil
Quitter
FinSi
L^.Info <- L^.Suivant^.Info
L^.Suivant <- L^.Suivant^.Suivant
Desallouer(L^.Suivant)
Sinon
Supprimer(x, L^.Suivant)
FinSi
FinProcédure
Fin