Beruflich Dokumente
Kultur Dokumente
Piles, Files
Objectifs
une dfinition abstraite ; les diffrentes reprsentations en mmoire ; une implmentation en langage C ; quelques applications.
Une pile est une structure linaire permettant de stocker et de restaurer des donnes selon un ordre LIFO (Last In, First Out ou dernier entr, premier sorti ) Dans une pile :
Les insertions (empilements) et les suppressions (dpilements) sont restreintes une extrmit appele sommet de la pile.
Empiler B Empiler A
Exemple de Pile
Empiler E Empiler C Empiler D Dpiler D
A B
E A B
C sommet C E E A A B B
Pile
F E D
C B
A
Pile
pile_vide : Pile opration d'initialisation ; la pile cre est vide est_vide : Pile Boolen teste si pile vide ou non sommet : Pile Elment permet de consulter l'lment situ au sommet ; n'a pas de sens si pile vide empiler : Pile x Elment Pile ajoute un lment dans la pile dpiler : Pile Pile enlve l'lment situ au sommet de la pile ; n'a pas de sens si pile vide
Les lments de la pile sont rangs dans un tableau Un entier reprsente la position du sommet de la pile
Les lments de la pile sont chans entre eux Un pointeur sur le premier lment dsigne la pile et reprsente le sommet de cette pile Une pile vide est reprsente par le pointeur NULL
Pile Contigu
Pil e
6 5 4 10 20 5 3 2 1
/* Pile contigu en C */ // taille maximale pile #define MAX_PILE 7 // type des lments typedef int Element; // type Pile typedef struct { Element elements[MAX_PILE]; int sommet; } Pile;
3
sommet
Une file est une structure linaire permettant de stocker et de restaurer des donnes selon un ordre FIFO (First In, First Out ou premier entr, premier sorti ) Dans une file :
Les insertions (enfilements) se font une extrmit appele queue de la file et les suppressions (dfilements) se font l'autre extrmit appele tte de la file
Enfiler B Enfiler A
Exemple de File
Enfiler E Enfiler C Enfiler D Dfiler B
A tte B
E A tte B
C E A tte B
File
File
file_vide : File opration d'initialisation ; la file cre est vide est_vide : File Boolen teste si file vide ou non tte : File Elment permet de consulter l'lment situ en tte de file ; n'a pas de sens si file vide enfiler : File x Elment File ajoute un lment dans la file dfiler : File File enlve l'lment situ en tte de file ; n'a pas de sens si file vide
Les lments de la file sont rangs dans un tableau Deux entiers reprsentent respectivement les positions de la tte et de la queue de la file
Les lments de la file sont chans entre eux Un pointeur sur le premier lment dsigne la file et reprsente la tte de cette file Un pointeur sur le dernier lment reprsente la queue de file Une file vide est reprsente par le pointeur NULL