Fila Estatica - Estrutura De Dados
Artigos Científicos: Fila Estatica - Estrutura De Dados. Pesquise 862.000+ trabalhos acadêmicosPor: smith • 13/6/2014 • 566 Palavras (3 Páginas) • 429 Visualizações
#include <stdio.h>
#define TAM 3
typedef struct{
char modelo[30];
char placa[9];
}Carro;
typedef struct{
int inicio;
int final;
int qtd;
Carro elementos[TAM];
}Fila;
void inicialize(Fila *f){
f->inicio = 0;
f->final = -1;
f->qtd = 0;
}
int isEmpty(Fila *f){
if(f->qtd == 0){
return 1;
}
return 0;
}
int isFull(Fila *f){
if(f->qtd == TAM){
return 1;
}
return 0;
}
int enqueue(Fila *f,Carro info){
if(isFull(f)){
return 0;
}else{
//Refazer o if..else abaixo de forma a utilizar uma instrução com 2 operadores aritméticos
if(f->final == TAM - 1){
f->final = 0;
}else{
f->final++;
}
f->elementos[f->final] = info;
f->qtd++;
return 1;
}
}
Carro* dequeue(Fila *f){
if(isEmpty(f)){
return NULL;
}else{
f->qtd--;
Carro *removido;
//removido = (int*)malloc(sizeof(int));
removido = &f->elementos[f->inicio];
if(f->inicio == TAM - 1){
f->inicio = 0;
}else{
f->inicio++;
}
return removido;
}
}
...