/****** lists.h *******/ /* tipo 'apontador para lista */ typedef void* listptr; /** 'LIST' é um sinônimo p/ listptr **/ #define LIST listptr #define TRUE 1 #define FALSE 0 /******************************************************* Cria de uma lista vazia. Devolve o apontador para o descritor da lista. *******************************************************/ LIST newList(); /****************************************************** Insere um 'elemento' no início de uma lista. parâmetros: - apontador p/ a lista - endereço do elemento a ser inserido Devolve TRUE ou FALSE indicando sucesso ou falha da operação. ******************************************************/ int frontInsert(LIST, void *); /****************************************************** Insere um 'elemento' no final de uma lista. Parâmetros: - apontador p/ a lista - endereço do elemento a ser inserido devolve TRUE ou FALSE indicando sucesso ou falha da operação. ******************************************************/ int rearInsert(LIST, void *); /******************************************************* Remove o primeiro elemento de uma lista. Parâmetro: apontador para a lista. Devolve o apontador para o elemento retirado da lista. ********************************************************/ void* removeFirst(LIST); /******************************************************* Remove o último elemento de uma lista. Parâmetro: apontador para o descritor da lista. Devolve o apontador para o elemento retirado da lista. *******************************************************/ void* removeLast(LIST); /****************************************************** Devolve um elemento da lista pela sua posição. Parâmetros: - apontador para o descritor da lista - posição do elemento a ser devolvido(a partir de 0) Devolve o apontador para o elemento (ou NULL se não existir). ******************************************************/ void * getElement(LIST, int); /***************************************************** Libera todo o conteúdo de uma uma lista (não libera o descritor). Parâmetros: - apontador para o descritor da lista. - apontador p/ função que libera um valor associado a um elemento da lista. ****************************************************/ int freeList(LIST,void (*freeNode)(void*)); /********************************************************* Devolve o 'tamanho' de uma lista (número de elementos). parâmetro: apontador para o descritor da lista. *********************************************************/ int listSize(LIST);