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