1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
void Enqueue(Queue **f, char *value)
{
Queue *element = malloc(sizeof(Queue));
if(!element) exit(1);
element->val = malloc(sizeof(value)+1);
strcpy(element->val,value);
element->next = *f;
(*f) = element;
}
char *Dequeue(Queue **f)
{
Queue *save_Queue = *f; //Sauvegarde la Queue
printf("Dequeue :\n");
char* Value;
//Queue *tmp;
if(!*f) return NULL; //Retourne NULL si la Queue est vide
while((*f)->next) //Va à l'avant dernier de la Queue
{
printf("Value :%s\n",(*f)->val);
(*f) = (*f)->next;
}
Value = malloc(sizeof((*f)->next->val));
strcpy(Value,(*f)->next->val);
printf(Value);
free((*f)->next);
(*f)->next = NULL; //clo la Queue
(*f) = save_Queue;
return Value;
}
void Clear(Queue **f)
{
Queue *tmp;
while(*f)
{
tmp = (*f)->next;
free(*f);
*f = tmp;
}
}
void View(Queue *f)
{
while(f)
{
printf("Voici : %s\n",f->val);
f = f->next;
}
} |
Partager