Commit | Line | Data |
---|---|---|
16d1d589 JB |
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> | |
1960d1ad | 15 | |
16d1d589 JB |
16 | typedef int element; |
17 | ||
1960d1ad JB |
18 | typedef struct cellule { |
19 | element valeur; | |
20 | struct cellule *suivant; | |
16d1d589 | 21 | } Cellule; |
16d1d589 | 22 | |
1960d1ad JB |
23 | typedef struct file { |
24 | Cellule *t, *q; | |
25 | } File; /* tête queue */ | |
16d1d589 JB |
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 */ | |
1960d1ad | 37 | { |
16d1d589 JB |
38 | /* la File n'est pas modifiée */ |
39 | } | |
40 | ||
1960d1ad | 41 | File enfiler(element e, File f) |
16d1d589 JB |
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 | } | |
16d1d589 | 49 | |
1960d1ad | 50 | element defiler2(File * f) |
f23fb1de JB |
51 | { |
52 | /* ATTENTION: la File est modifiée */ | |
1960d1ad JB |
53 | /* ATTENTION: supprimer la tête d'une File vide n'a pas de sens */ |
54 | } | |
16d1d589 JB |
55 | |
56 | /********************************************************************/ | |
57 | int main() | |
1960d1ad JB |
58 | { |
59 | File p; | |
60 | int i; | |
61 | p = file_vide(); | |
62 | for (i = 0; i < 20; i++) | |
63 | p = enfiler(i, p); | |
64 | for (i = 0; i < 25; i++) | |
65 | printf("%d\n", defiler2(&p)); | |
66 | } | |
67 | ||
16d1d589 | 68 | /********************************************************************/ |