Add TP5 skeleton
[Algorithmic_C.git] / TP5 / exo6 / file_chainee_a_completer.c
diff --git a/TP5/exo6/file_chainee_a_completer.c b/TP5/exo6/file_chainee_a_completer.c
new file mode 100644 (file)
index 0000000..2ec62db
--- /dev/null
@@ -0,0 +1,67 @@
+/***********************************************************************  
+       Implantation d'un type File d'entiers sous forme chaînée
+       
+       La file est représentée par un doublet tête-queue de pointeurs 
+       vers une cellule.
+       Le pointeur "tête"  contient l'adresse de la tête  de la file.
+       Le pointeur "queue" contient l'adresse de la queue de la file.
+       La file vide est représentée par le doublet NULL-NULL 
+       Chaque cellule pointe vers la cellule suivante de la file
+       ou vers NULL si on est en queue de file. 
+***********************************************************************/
+#include <stdio.h>
+#include <stdlib.h>
+       
+typedef int element;
+
+typedef struct cellule 
+{
+ element valeur;
+ struct cellule *suivant; 
+} Cellule;
+                                               
+typedef struct file 
+{
+       Cellule *t, *q; 
+} File;        /* tête queue */
+
+
+File file_vide(void)
+{
+}
+
+int est_vide(File f)
+{
+}
+
+element tete(File f)
+/* ATTENTION: consulter la tête d'une File vide n'a pas de sens */
+{ 
+       /* la File n'est pas modifiée */
+}
+
+File enfiler(element e,File f)
+{
+}
+
+File defiler(File f)
+/* ATTENTION: supprimer la tête d'une File vide n'a pas de sens */
+{
+}
+       
+element defiler2(File *f)      /* ATTENTION: la File est modifiée */
+/* ATTENTION: supprimer la tête d'une File vide n'a pas de sens */
+{ 
+}
+
+
+/********************************************************************/
+int main()
+{File p;
+ int i;
+ p=file_vide();
+ for (i=0; i<20; i++) p=enfiler(i,p);
+ for (i=0; i<25; i++) printf("%d\n",defiler2(&p));}
+ /********************************************************************/
\ No newline at end of file