/* * Fila_inicio_fim: implementação ligada de filas utilizando * apontadores para o início e o final da fila. */ #ifndef FILA_INICIO_FIM #define FILA_INICIO_FIM typedef struct No_fila { int v; 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, int v); /* Remove um elemento da fila */ int remove_fila(Fila* ap_fila); /* Descarta todos os elementos da fila */ void libera_fila(Fila* ap_fila); #endif