From 5ba35ccb4226a60ee523d0ee82443dc5fcee7958 Mon Sep 17 00:00:00 2001 From: Louis Malevez <louis.malevez@student.uclouvain.be> Date: Wed, 22 Apr 2020 16:01:52 +0200 Subject: [PATCH] Fonctions pour la gestion de la liste --- Fonction_liste.h | 68 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Fonction_liste.h diff --git a/Fonction_liste.h b/Fonction_liste.h new file mode 100644 index 0000000..59e0ab6 --- /dev/null +++ b/Fonction_liste.h @@ -0,0 +1,68 @@ +#ifndef PROJET_Q4_GROUPE_O4_PRIMEF_H +#define PROJET_Q4_GROUPE_O4_PRIMEF_H +// +// Created by Louis Malevez on 22-04-20. +// +#include <stdio.h> +#include <stdlib.h> +/* Structure représentant un élément de la liste. */ +typedef struct elem +{int value; + struct elem *prev; + struct elem *next; +} elem ; +/* Structure d'accès à la liste. */ +typedef struct dblist +{elem *first; + elem *last; +}dblist; + +void Init(struct dblist *l) {// fonction qui initialise une liste + l->first = NULL; + l->last = NULL; +} +void Clear(struct dblist *l)//fonction qui efface la liste +{ + elem *tmp; + elem *pelem = l->first; + while(pelem) + { + tmp = pelem; + pelem = pelem->next; + free(tmp); + } + l->first = NULL; + l->last = NULL; +} +void PushBack(struct dblist *l, int val)// fonction qui ajoute un élément a la fin de la liste +{ + elem *nouv = malloc(sizeof(elem)); + if(!nouv) exit(EXIT_FAILURE); + nouv->value = val; + nouv->prev = l->last; + nouv->next = NULL; + if(l->last) l->last->next = nouv; + else l->first = nouv; + l->last = nouv; +} +void View(struct dblist l)//permet de parcourir la liste depuis le début, on s'en sert pas enft +{ + elem *pelem = l.first; + while(pelem) + { + printf("%d\n",pelem->value); + pelem = pelem->next; + } +} +void wfile(struct dblist l,FILE*file)//fonction qui lit et écrit ds un fichier les élément de la liste +{ + elem *pelem = l.first; + while(pelem) + { + fprintf(file,"%d ",pelem->value); + pelem = pelem->next; + } +} + + +#endif //PROJET_Q4_GROUPE_O4_PRIMEF_H -- GitLab