Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define N 50
- typedef struct fila
- {
- int n;
- int ini;
- float vet[N];
- }Fila;
- Fila *fila_cria()
- {
- Fila *f=(Fila*)malloc(sizeof(Fila));
- f->n=0;
- f->ini=0;
- return f;
- }
- int fila_vazia(Fila *f)
- {
- if(f->n==f->ini)
- return 1;
- else
- return 0;
- }
- void fila_insere (Fila *f, float v)
- {
- if(f->n==N)
- {
- //fila cheia
- printf("Capacidade da fila esgotada.\n");
- return; //retorna ao programa
- }
- //insere novo elemento
- f->vet[f->n]=v;
- f->n++;
- }
- void compacta(Fila *f)
- {
- int i;
- for(i = 0; i < f->n-1; i++)
- f->vet[i] = f->vet[i+1];
- f->n--;
- }
- float fila_retira(Fila *f)
- {
- float v;
- //retira o elemento da fila
- v=f->vet[f->ini]; //ini nunca vai sair do zero
- //f->ini++; ini fica fixo em zero
- compacta(f);
- return v;
- }
- void fila_libera(Fila *f)
- {
- free(f);
- }
- void mostra_fila(Fila *f)
- {
- int i;
- printf("Conteudo da fila\n");
- for(i=f->ini;i<f->n;i++)
- printf("%.0f\n",f->vet[i]);
- printf("\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement