 |
8. IMPLEMENTATION EN C |
Nous présentons ici une implémentation en langage C des
différentes structures de données présentées dans ce cours. Avant de
lire cet annexe, le lecteur devra donc se familiariser avec le C. Pour chaque structure de
données, il y a deux fichiers. Le premier fichier (*.h) est le
"header" (en-tête) qui contient seulement des déclarations (types de
donnée, prototypes de fonction, macrocommandes...). Le second fichier (*.c)
contient les fonctions proprement dites.
commun.h
Fichier contenant les éléments communs à toutes les structures de
données.
tritab.h -
tritab.c
Fichiers contenant les éléments pour trier un tableau. Pour utiliser ces fichiers, il
faut définir le type ELEMENT et la macrocommande (ou la fonction)
PLUS_PETIT(a,b).
liste.h -
liste.c
Fichiers contenant les éléments pour définir et manipuler une liste
chaînée. Pour utiliser ces fichiers, il faut définir le type
ELEMENT. Par défaut, la modélisation par pointeurs est utilisée.
Pour employer la modélisation par tableau, il suffit de définir la macrocommande
LISTE_TAB.
pile.h -
pile.c
Fichiers contenant les éléments pour définir et manipuler une pile. Pour
utiliser ces fichiers, il faut définir le type ELEMENT. Par défaut, la
modélisation par tableau est utilisée. Pour employer la modélisation par liste
chaînée, il suffit de définir la macrocommande PILE_LST.
image.c -
image.txt
Fichiers illustrant l'exemple de remplissage d'une forme géométrique
présenté dans le chapitre sur les piles.
file.h -
file.c
Fichiers contenant les éléments pour définir et manipuler une file d'attente.
Pour utiliser ces fichiers, il faut définir le type ELEMENT. Par défaut,
la modélisation par tableau est utilisée. Pour employer la modélisation par
liste chaînée, il suffit de définir la macrocommande FILE_LST.
arbre.h -
arbre.c
Fichiers contenant les éléments pour définir et manipuler un arbre binaire.
Pour utiliser ces fichiers, il faut définir les types ELEMENT et
CLE, et la macrocommande (ou la fonction) cle(e).
| |
| |
| Copyright (c) 1999-2016 - Bruno Bachelet - bruno@nawouak.net -
http://www.nawouak.net |
| La permission est accordée de copier, distribuer et/ou modifier ce document
sous les termes de la licence GNU Free Documentation License, Version 1.1 ou toute
version ultérieure publiée par la fondation Free Software Foundation. Voir
cette licence pour plus de détails (http://www.gnu.org). |
|
|
|