TP5: feed all exercices code skeleton to Lindent
[Algorithmic_C.git] / TP5 / exo6 / file_chainee_a_completer.c
1 /***********************************************************************
2 Implantation d'un type File d'entiers sous forme chaînée
3
4 La file est représentée par un doublet tête-queue de pointeurs
5 vers une cellule.
6 Le pointeur "tête" contient l'adresse de la tête de la file.
7 Le pointeur "queue" contient l'adresse de la queue de la file.
8 La file vide est représentée par le doublet NULL-NULL
9
10 Chaque cellule pointe vers la cellule suivante de la file
11 ou vers NULL si on est en queue de file.
12 ***********************************************************************/
13 #include <stdio.h>
14 #include <stdlib.h>
15
16 typedef int element;
17
18 typedef struct cellule {
19 element valeur;
20 struct cellule *suivant;
21 } Cellule;
22
23 typedef struct file {
24 Cellule *t, *q;
25 } File; /* tête queue */
26
27 File file_vide(void)
28 {
29 }
30
31 int est_vide(File f)
32 {
33 }
34
35 element tete(File f)
36 /* ATTENTION: consulter la tête d'une File vide n'a pas de sens */
37 {
38 /* la File n'est pas modifiée */
39 }
40
41 File enfiler(element e, File f)
42 {
43 }
44
45 File defiler(File f)
46 /* ATTENTION: supprimer la tête d'une File vide n'a pas de sens */
47 {
48 }
49
50 element defiler2(File * f)
51 { /* ATTENTION: la File est modifiée */
52 /* ATTENTION: supprimer la tête d'une File vide n'a pas de sens */
53 }
54
55 /********************************************************************/
56 int main()
57 {
58 File p;
59 int i;
60 p = file_vide();
61 for (i = 0; i < 20; i++)
62 p = enfiler(i, p);
63 for (i = 0; i < 25; i++)
64 printf("%d\n", defiler2(&p));
65 }
66
67 /********************************************************************/