Relat rio 3 Filas e Pilhas
Conceito de pilha e filas representam estruturas de dados importantes, nas quais seus elementos são organizados em função de um critério que regulamenta a entrada e a saída dos elementos.
Com isso nessa etapa tentamos deixar nosso código mais limpo e aproveitar cem por cento do recurso de filas e pilhas, com tudo o uso de pilhas pede uma maior atenção para que os resultado saiam correta mentes
//A partir daqui e relacionado a FILA int incr(int i){ if (i == N-1) return 0; else return i+1;
}
struct Taxiamento{ int num_voo; char modelo_aeronave[20],empresa_aerea[20]; float horario_voo;
}taxiamento[50];
typedef struct{ int ini, fim; float vet[N];
} Fila;
Fila* cria(){ Fila* f = (Fila*) malloc(sizeof(Fila)); f -> ini = f -> fim = 0; //Inicializa return f;
}
void insere (Fila* f, float v){ if (incr(f -> fim) == f -> ini){ printf("\nFila cheia!!!"); exit(1); } f -> vet[f -> fim] = v; f -> fim = incr(f -> fim);
}
float retira( Fila* f){ float v; if(vazia(f)){ printf("\nFila vazia!!!"); getch(); exit(1); } v = f -> vet[f -> ini]; f -> ini = incr(f -> ini); return v;
}
int vazia (Fila* f){ return (f -> ini == f -> fim);
}
void libera (Fila* f){ free (f);
}
void imprime (Fila * f){ int i; for (i = f -> ini; i != f -> fim; i = incr(i)){ printf("%.2f\n", f -> vet[i]); }
}
//Aqui começa PILHA
struct Bag{ int codigo_bagagem, num_passagem, num_voo, data_embarque, portao_embarque; float hora_embarque;
}bag[50];
typedef struct { int n; int vet[50];
}Pilha;
Pilha* criar (void){ Pilha* p; p = (Pilha*) malloc(sizeof(Pilha)); p->n = 0; //inicializa em 0