TP : Les piles et les files
Exercice 1 : Les piles
Écrire une structure Cellule, qui contient une valeur de type entier et un pointeur vers la cellule
suivante de la pile. Définir un type Pile, qui contient un pointeur vers la Cellule qui représente le
sommet de la pile.
Écrire les fonctions de manipulation de la pile :
1. void Initialiser(Pile *p) : Cette opération doit être faite avant toute autre opération sur la
pile. Elle initialise le pointeur du Sommet vers la constante NULL.
2. int Nb_Elements_Pile (Pile p) : Cette fonction retourne le nombre d’éléments de la pile.
3. void Afficher_Pile(Pile p) ) : Cette opération permet d’afficher les éléments de la pile.
4. int Pile_Vide(Pile p) : Cette fonction retourne 0 si la pile est vide, 1 sinon.
5. void Empiler(int x, Pile *p) : Cette procédure sert à empiler une valeur de type entier.
6. void Depiler(int *x, Pile *p) : Cette procédure permet de récupérer la donnée en haut de la
pile et de supprimer le sommet de la pile.
7. Ecrire un programme C qui utilise les fonctions précédentes d’une façon interactive avec
l’utilisateur et cela via un menu d’opérations.
Exercice 2 : Les files
Nous travaillerons sur une file d’entiers. On définira une File comme une liste de Cellule. Écrire la
structure Cellule qui contient une valeur de type entier et un pointeur vers la Cellule suivante.
Écrire la structure File qui contient deux pointeurs : un sur la tête de file et un sur la queue de la
file.
Écrire les fonctions de manipulation de la file :
1. File * creer_file() : cette opération doit être faite avant toute autre opération sur la file. Elle
initialise le pointeur tête et le pointeur Queue avec le pointeur NULL.
2. int file_vide(File * f) : Cette fonction retourne 0 si la file est vide, 1 sinon.
3. int Taille_file(File * f) : Cette fonction retourne le nombre d’éléments de la file.
4. void afficher_file(File * fil) : cette opération affiche les éléments de la file.
5. void Ajouter_File (int x, File * f) : Cette opération sert à ajouter un élément en queue de file.
Dans la file, l’insertion se fait toujours à la fin de la file.
6. void Extraire_File (int * x, File *f) : Cette procédure permet de récupérer la donnée au début
de la file et de supprimer la tête de la file.
7. Ecrire un programme C qui utilise les fonctions précédentes d’une façon interactive avec
l’utilisateur et cela via un menu d’opérations