Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define MAX 6
- typedef struct fila{
- int chave[MAX];
- int ini , fim , nelemens;
- }NoFila;
- void inicializa_fila(NoFila *f);
- int enfileira(NoFila *f , int x);
- int desenfileira(NoFila *f);
- void imprime(NoFila *f);
- int main(){
- NoFila f;
- inicializa_fila(&f);
- enfileira(&f , 2);
- enfileira(&f , 4);
- enfileira(&f , 5);
- desenfileira(&f);
- enfileira(&f , 7);
- imprime(&f);
- return 0;
- }
- void inicializa_fila(NoFila *f){
- f->ini = 0;
- f->fim = -1;
- f->nelemens = 0;
- }
- int enfileira(NoFila *f , int x){
- if(f->nelemens == MAX) //Fila cheia
- return 0;// False
- f->fim = (f->fim % MAX) + 1;
- f->chave[f->fim] = x; //FAz a fila circular
- f->nelemens++;
- return 1; //True
- }
- int desenfileira(NoFila *f){
- int x;
- //Verificando se a fila esta cheia
- if(f->nelemens == 0){
- return 0; //Fila vazia
- }
- //printf("%d\n" , f->ini);
- x = f->chave[f->ini];
- f->ini = (f->ini % MAX) + 1;
- f->nelemens --;
- return 1;
- //printf("%d\n" , f->ini);
- return x ;
- }
- void imprime(NoFila *f){
- int i , j = f->ini;
- for(i = 0 ; i < f->nelemens ; i++){
- printf("%d\n" , f->chave[j]);
- j = (j % MAX) + 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment