/* * Implementação ligada de filas utilizando apontadores para o início * e o final da fila. */ #ifndef FILA_t #define FILA_t typedef struct No_fila { void* elem; struct No_fila* prox; } No_fila; struct Fila_t { No_fila* inicio; No_fila* fim; }; typedef struct Fila_t Fila; /* Inicia uma instância do tipo fila */ void cria_fila(Fila* ap_fila); /* Verifica se a fila está vazia */ int fila_vazia(Fila* ap_fila); /* Insere um elemento na fila */ void insere_fila(Fila* ap_fila, void* elem); /* Remove um elemento da fila */ /* Retorna 0 caso a fila esteja vazia e 1 em caso de sucesso */ int remove_fila(Fila* ap_fila, void** ap_elem); /* Descarta todos os elementos da fila */ void libera_fila(Fila* ap_fila); #endif