#include "lista_din_encad_simples.h"

struct no {
	int info;
	struct no *prox;
};

Lista cria_lista()
{
	return NULL;
}

int lista_vazia(Lista lst)
{
	if(lst == NULL)
		return 1;
	return 0;
}

int insere_elem(Lista *lst, int elem)
{
	/* Aloca um novo nó */
	Lista N = (Lista) malloc(sizeof(struct no));
	if(N == NULL) return 0;

	N->info = elem; /* Insere elem */
	N->prox = *lst; /* Aponta pro 1º nó da lista */
	*lst = N; /* Faz a lista Apontar pro novo nó */
	return 1;
}

int remove_elem(Lista *lst, int elem)
{
	if(lista_vazia(*lst))
		return 0;

	Lista aux = *lst; //Ponteiro auxiliar pro 1º nó
	//Trata elem = 1º nó
	if(elem == (*lst)->info)
	{
		*lst = aux->prox; //Lista aponta para o 2º nó
		free(aux);
		return 1;
	}
	/* Percorrimento até achar elem ou final da lista */
	while(aux->prox != NULL && aux->prox->info != elem)

}
