Buscar

Fila Simples em C

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include "stdlib.h"
#include "stdio.h"
#define maxNUM 5
int fila[maxNUM];
int fila_i = -1, IF = 0, FF = 0;
int main() {
 int n, op, i;
 while ( op != 9) {
 printf("\n1 - Enfileira.\n");
 printf("2 - Desenfileira: \n");
 printf("9 - Sair: \n");
 scanf("%d", &op);
 if (op == 1) {
 printf("Enfileire: ");
 scanf("%d", &i);
 enfileira(i);
 }
 else if (op == 2) {
 n = desenfileira();
 printf("Valor: %d - IF = %d - FF = %d\n", n, IF, FF);
 }
 }
 return 0;
}
//adiciona ao final da fila
void enfileira(int x) {
 if (FF < maxNUM) {
 fila_i ++;
 fila[fila_i] = x;
 FF ++;
 } else
 printf("\nFinal da Fila atingida, essa fila nao eh pra ser usada assim!!!\n");
}
//retorna o primeiro da fila e o remove da fila
int desenfileira() {
 int n;
 if (vazia() ) {
 n = fila[IF];
 fila[IF] = -1;
 IF ++;
 return n;
 }
 else return -1;
}
//Se vazia, retorna 0
//se não vazia retorna 1
int vazia() {
 if (IF < FF )
 return 1;
 else
 return 0;
}
//Imprime a fila
void imprime_fila() {
 int x;
 printf("\nFila: ");
 for (x = IF; x < FF; x++ )
 printf("%2d ", fila[x]);
 printf("\n");
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais