INFO505 Programmation C
Loading...
Searching...
No Matches
Liste.h
1// Liste.h
2#ifndef _LISTE_H_
3#define _LISTE_H_
4
5typedef double Elem; /* Vous changerez après ce type lorsque vous l'utiliserez pour le tetris */
7struct SCellule {
8 Elem val;
9 struct SCellule* pred;
10 struct SCellule* succ;
11};
12typedef struct SCellule Cellule;
13typedef Cellule* Adr;
14typedef Cellule Liste;
15/* Ici, la liste vide est une liste avec un élément (non utilisé). */
16
17/* alloue dynamiquement une liste et retourne son adresse */
18extern Liste* Liste_creer();
19/* initialise correctement la liste donnée en paramètre, comme si elle était vide. */
20extern void Liste_init( Liste* L );
21/* détruit tous les éléments stockés dans la liste L. La liste est vide après.*/
22extern void Liste_termine( Liste* L );
23/* détruit tous les éléments stockés dans la liste L, et libère l'espace mémoire de la liste. */
24extern void Liste_detruire( Liste* L );
25/* retourne l'adresse du premier élément. */
26extern Adr Liste_debut( Liste* L );
27/* retourne l'adresse après le dernier élément. */
28extern Adr Liste_fin( Liste* L );
29/* passe à l'élément suivant. */
30extern Adr Liste_suivant( Liste* L, Adr A );
31/* passe à l'élément précédent. */
32extern Adr Liste_precedent( Liste* L, Adr A );
33/* insère devant l'élément A un nouvel élément de valeur v dans L. */
34extern Adr Liste_insere( Liste* L, Adr A, Elem v );
35/* supprime l'élément A dans L. */
36extern void Liste_supprime( Liste* L, Adr A );
37/* retourne la valeur stockée dans l'élément A de la liste L. */
38extern Elem Liste_valeur( Liste* L, Adr A );
39/* modifie la valeur stockée dans l'élément A de la liste L, en lui assignant la valeur v. */
40extern void Liste_modifie( Liste* L, Adr A, Elem v );
41
42#endif
43
Definit le noeud d'une liste doublement chaînée.
Definition Liste.h:7
struct SCellule * pred
pointeur vers le noeud précédent
Definition Liste.h:9
struct SCellule * succ
pointeur vers le noeud suivant
Definition Liste.h:10
Elem val
valeur stockée dans le noeud
Definition Liste.h:8