Vous êtes sur la page 1sur 2

Université de Mostaganem

2ème année de licence informatique


Module Algorithmique et structures de données

Fiche de TP 4 : Les listes chaînées

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.

Question 2 : Pour aller un peu plus loin….


En utilisant les différentes fonctions de manipulation des listes définie dans la libraire liste.h
1. Ecrire dans le fichier main.c une fonction inverser_liste qui permet d’inverser les
maillons d’une liste simplement chainées passée en paramètre et qui retourne la
nouvelle liste obtenue.

Vous aimerez peut-être aussi