P I L E / F I L E
Principes de base ( succinct )
Il existe principalement 2 types d'implémentation de pile ( LIFO et FIFO ). LIFO : Last In First Out ( Dernier entré , Premier Sortie ) => Pile. FIFO : First In First Out ( Premier entré , Premier Sortie ) => File.
LIFO:
Une pile est une liste ordonnée dans laquelle les insertions
et les suppressions sont faites à un bout appelé le haut de
la pile (TOP).Comme le dernier élément inséré
dans la pile est le premier élément à être enlevé,
une pile est ausi connue sous le non de liste LIFO.
Pour travailler avec une pile il nous faut un certain nombre de primitives
comme:
FIFO:
Une pile est une liste ordonnée dans laquelle les insertions se fond à un bout et toutes les suppressions se font à l'autre bout. Comme le premier élément inséré dans la file est le premier à en être enlevé, les files sont aussi connues sous le nom de listes FIFO.Pour travailler avec une file il nous faut aussi un certain nombre de primitives comme:
Primitives
Il n'y a pas besoin d'écrire du code pour pouvoir définir une pile et/ou une file. Il faut simplement redéfinir à l'aide de #define xxxx yyyy certaines fonctions des listes.
Ex: Pour définir une pile : pile.h
#define PILE LLIST
#define initpile(p,a) initlist(p,a,a) #define close_pile(p) close_list(p) #define pileborn(p) listborn(p) #define pilevide(p) lvide(p)
#define empiler(p,e) adjq(p,e) #define depiler(p) corpi(p) #define sommet(p,e) queue(p,e) #define hauteur(p) lgrl(p)
Il n'y a pas de fichier file.h pour l'instant , en principe n'importe quel programmeur C devrait (d'après le même modèle que pile.h) pouvoir en faire un en quelques minutes.
Comme pour les listes, il faut impérativement initialiser une pile avec la fonction : initpile et la détruire par close_pile en fin de programme !!.