Add liste chainee
This commit is contained in:
parent
21b774e0df
commit
5c5bbdc16f
1 changed files with 73 additions and 0 deletions
73
algorithmique/recursivite/liste-chainee.algo
Normal file
73
algorithmique/recursivite/liste-chainee.algo
Normal 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
|
Loading…
Reference in a new issue