#include <stdio.h>
#include <stdlib.h>
#include "pile.h"


int isEmpty (lifo *pile) // renvoie 0 lorsque la pile est vide, sinon renvoie 1.
{
    if(pile->sommet != NULL)
    {
        return 1;
    }
    else return 0;
}

void init(lifo* pile) // initialise la pile
{
    pile->sommet=NULL;
    pile->hauteur=0;
}

void print_lifo(lifo * pile) // affiche le contenu de la pile
{
    cell* temp;
    temp=(cell*)malloc(sizeof(cell));
    temp=pile->sommet;
    int i=0;

    if (isEmpty(pile)==0) printf("Pile vide.\n"); // Si la pile est vide
    else
    {
        printf("Pile complete : \n");
        for (i=0; i<pile->hauteur;i++)
        {
            printf("Valeur : %d\n", temp->val);
            temp=temp->next;
        }
    }
}

int push(int i, lifo *pile) // retourne 0 si erreur, 1 sinon.
{
    cell* temp;
    temp=(cell*)malloc(sizeof(cell));
    temp->val=i;
    temp->next=NULL;

    if (isEmpty(pile)==0) // cas de la pile vide
    {

        return 1;
    }
    else
    {
        file->queue->next=temp;
        temp->next=NULL;
        file->queue=temp;
        file->length++;
        return 1;
    }
    return 0;
}

