Académique Documents
Professionnel Documents
Culture Documents
Soit la structure suivante qui représente la définition d’une liste chainée L d’entiers :
typedef struct maillon{
int valeur ;
struct maillon * suivant ;
} maillon;
typedef maillon * Liste ;
Dans ce TP nous allons tout d’abord définir une librairie liste.h (fichier header) qui permettra
de définir le type liste ainsi que les opérations de base de manipulation des listes chaînées à
savoir :
- init_liste qui crée une liste vide
- est_vide qui teste si une liste est vide
- creer_maillon qui crée un maillon contenant une valeur entière passée en paramètre
- affiche_liste qui affiche tous les éléments d’une liste
- nb_element qui compte le nombre d’éléments que contient une liste chaînée.
- ajouter_début qui rajoute un élément en début de liste
- supprimer_fin qui supprime un élément en fin de liste
Question 1 : Création du projet
Etape à suivre :
1. Créer un nouveau projet C (console application) qui contiendra le fichier main.c
2. Ajouter 2 fichiers : liste.h et liste.c
3. Le fichier liste.h contient la définition d’une liste chaînée ainsi que la déclaration des
opérations de manipulation des listes chaînées (uniquement les prototypes des
fonctions)
4. Le fichier liste.c sert à définir les fonctions déclarées dans le fichier liste.h, il faut donc
d’abord inclure liste.h grâce à l’instruction : #include "liste.h"
5. Inclure maintenant le fichier liste.h dans le fichier main.c. De manière générale, il
suffira d'inclure ce fichier partout où on a besoin des fonctions de manipulation des
listes.
6. Implémenter les différentes fonctions de base de manipulation des listes chaînées
décrites plus haut. Ces fonctions seront déclarées dans le fichier list.h, et définies dans
le fichier liste.c
7. Tester ces différentes fonctions dans le main.