Académique Documents
Professionnel Documents
Culture Documents
Décembre 2020
Introduction
Introduction
Introduction
Piles
Piles
Introduction
Piles
Introduction
Piles
Introduction
Introduction
Piles
Type LS1= nœud *
Struct nœud
Val: valeur
Next: LS1
FinStruct
Struct Pile
Sommet: LS1
FinStruct
Introduction
Piles
Procedure Init_Pile (Var P : Pile)
Debut
P. Sommet := Nil
Fin
Introduction
Piles
Fonction Pile_vide (P : Pile) : Booleen
Autrement:
Debut
Si P. Sommet = Nil Alors
Fonction Pile_vide (P : Pile): Booleen
Pile_vide := vrai
Debut
Sinon
Pile_vide := P. Sommet = Nil
Pile_vide := faux
Fin
FinSi
Fin
Introduction
Piles
Procedure Empiler (Var P : Pile; X : valeur)
Var
element : LS1
Note : L‘ajout d’une valeur à
Debut une pile revient à une
insertion en début de liste si
element := réserver (typede(nœud)) l’on considère que le sommet
*element.val := X est la tête de la liste.
*element.next :=P. Sommet
P. Sommet := element
Fin
Piles
Procedure Depiler (Var P : Pile, Var X : valeur)
La suppression d’une valeur
Var
dans une pile dynamique
element : LS1
revient à effectuer une
Debut
suppression d’un nœud (le
Si Pile_vide (P) Alors
premier de liste) et à récupérer
Ecrire('Impossible la pile est vide')
dans un paramètre, passé par
Sinon
variable, la donnée
element := P. Sommet
enregistrée.
X := *P.Sommet.val
P. Sommet := *P.Sommet.next
Liberer (element)
FinSi
Fin
Files
Files
Files
Files
Files
Type
LS1 = noeud *
FileStruct noeud
val : valeur
next : LS1
FinStruct
Struct File
Sommet: LS1
Queue : LS1
FinStruct
Files
Procedure Init_File (F : File)
Debut
F. Sommet := Nil
F. Queue := Nil
Fin
Files
Fonction File_vide (F : File) : Booleen
Debut
Si F. Queue = Nil Alors
File_vide := vrai
Sinon
File_vide := faux
FinSi
Fin
Une autre façon plus compacte d’écrire cette fonction est la suivante
L‘ajout d’une valeur à une File dynamique revient à une insertion à la fin de liste avec l’adresse
du dernier élément dans Queue. Le cas d’un enfiler sur file vide nécessite l’initialisation du Début
à l’adresse du nouveau nœud.
La suppression d’une valeur dans une file dynamique revient à effectuer une suppression physique d’un
nœud (le premier de liste) et à récupérer dans un paramètre, passé par variable, la donnée enregistrée.