Dans ce chapitre, nous définissons un ensemble de fonctions générales qui peuvent être stockées dans une bibliothèque et utilisées depuis n'importe quelle application.
L'ensemble des fonctions que nous définissons formera un nouveau type de données pour la gestion des pistes, et si une application veut les utiliser, vous pouvez le faire à travers ce nouveau type de données comme s'il s'agissait de fonctions de la bibliothèque standard C. Commençons donc à définir les pistes et leurs fonctions.
Une liste sera définie par deux démonstrateurs, l'un pour indiquer le premier composant et l'autre pour le dernier. Chacun des composants de la liste a un pointeur pour indiquer le composant à côté de la salive, l'index d'information du composant et la priorité, car il est possible d'introduire les composants par ordre de priorité. Dans le programme 1 apparaît le contenu du fichier lista_def.h, où la liste est faite et le composant est défini.
Les fonctions de liste requises par les applications seront alors conçues et définies.
Du point de vue de la conception, vous devez spécifier quel type de fonctions seront et quels paramètres auront. Pour commencer, nous aurons besoin de la fonction de créer une liste vide, qui a comme seul paramètre la création, l'index de la brise. Pour savoir si c'est une simple liste, nous aurons une fonction booléenne avec un seul paramètre, la fonction vide. Comme dans les listes les composants sont ajoutés et supprimés, les fonctions principales seront les ajouter à la fin (sans tenir compte de la priorité) ou les ajouter par ordre de préférence, et supprimer le premier composant ou supprimer le premier composant d'une certaine priorité. Associer, insérer, première et sortir à ces quatre fonctions correspondront aux noms et caractéristiques suivants:
Les fonctions conçues seront reflétées dans le fichier lista_fun.h, car dans les applications ce fichier sera utilisé pour créer des fonctions sur des listes.
Dans les programmes suivants, la définition des fonctions 3 à 8 a été initiée, toutes pouvant être incluses dans un fichier ou dans des fichiers séparés. Au début de chaque fichier, la phrase #include lista_def.h doit être spécifiée.
La figure 1 reflète l'état normal, c'est-à-dire que l'élément inséré n'est pas le premier ou le dernier.
Les inverses des fonctions attacher et insérer sont la première et sortir, car au lieu d'amarrer un élément le retirent.
Une fois ces fonctions compilées, il est pratique de les enregistrer dans une bibliothèque pour faciliter la procédure de lien lorsqu'elles sont référencées depuis les applications. Les fonctions du chapitre précédent n'étaient pas placées dans une bibliothèque parce qu'elles étaient écrites pour une application spécifique, mais l'objectif des fonctions de ce chapitre est d'offrir un nouveau type de données pour toute application, de sorte que la procédure standard est de se placer dans une bibliothèque.
Chaque système d'exploitation de stockage de modules d'objets dans les bibliothèques a une commande, comme indiqué au chapitre 11.
Si la bibliothèque est complète, nous allons voir comment les fonctions mentionnées enregistrées dans la bibliothèque peuvent être utilisées.
Nous l'expliquerons par un exemple. Pensons que dans la base de données du chapitre précédent, nous voulons lister les livres par date de publication. Comme indiqué dans le Programme 9, nous définissons une liste et les composants de celle-ci seront placés dans la mémoire dynamique.
Chacun des composants ou éléments de la Liste est composé du démonstrateur joint, de la date de publication comme priorité et de l'index pour le livre correspondant. Une fois la liste terminée en exécutant tous les livres, les composants seront retirés et imprimés dans l'ordre.
Notez que la liste et les éléments, qui jusqu'à présent n'avaient pas de mémoire, ont été définis dans le programme principal, l'un dans la mémoire statique et l'autre dans la mémoire dynamique. D'autre part, la gestion des fonctions associées aux listes n'est pas effectuée, car le fichier lista_fun.h est inclus.
En reliant le programme, on fera référence à la bibliothèque à laquelle appartiennent les listes.