diff --git a/Fonction_liste.h b/Fonction_liste.h new file mode 100644 index 0000000000000000000000000000000000000000..59e0ab6674fd7e11a8251eacf26a099ee4f906d5 --- /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 +#include +/* 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