Commit 5ba35ccb authored by Louis Malevez's avatar Louis Malevez

Fonctions pour la gestion de la liste

parent ac753b6b
Pipeline #4638 passed with stage
in 0 seconds
#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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment