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 !!.

Retour