diff --git a/a.out b/a.out index 084f7f8236acf30cbcab421912deff1446c6b235..cf19a6ca2e727df659470276f888e7d1f6f43cc6 100644 Binary files a/a.out and b/a.out differ diff --git a/fila_edu_cir.c b/fila_edu_cir.c index a252912eb6ba0456860291779c7a76aa11ed852c..2d323646064f70a9dbefb614c50f31f1f0bca2e9 100644 --- a/fila_edu_cir.c +++ b/fila_edu_cir.c @@ -54,6 +54,17 @@ void destroi(struct Fila *fila) { free(fila); } +// Função para verificar se a fila está vazia +int estaVazia(struct Fila *f) { + return f->tamanho == 0; +} + +// Função para verificar se a fila está cheia +int estaCheia(struct Fila *f) { + return f->tamanho == f->capacidade; +} + + int main() { /* PRIMEIRA FILA TEMPO */ struct Fila *fila1 = cria(500); diff --git a/fila_edu_vetor_ot.c b/fila_edu_vetor_ot.c index 9ed044b945d11c4ed94f658505283102907dfd4a..0b6d96ca4d233a1f773d28e70887b1638d53a23e 100644 --- a/fila_edu_vetor_ot.c +++ b/fila_edu_vetor_ot.c @@ -41,6 +41,7 @@ int insere(struct Fila *fila, float dado) { return -1; } } + printf("Inserindo %.2f na posição %d\n", dado, fila->fim + 1); fila->fim++; fila->dados[fila->fim] = dado; fila->tamanho++; @@ -72,28 +73,39 @@ void destroi(struct Fila *fila) { free(fila); } -int main() { +// Função para verificar se a fila está vazia +int estaVazia(struct Fila *f) { + return f->tamanho == 0; +} -/* PRIMEIRA FILA TEMPO */ - struct Fila *fila1 = cria(500); - struct timespec inicio, fim; - clock_gettime(CLOCK_MONOTONIC, &inicio); +// Função para verificar se a fila está cheia +int estaCheia(struct Fila *f) { + return f->tamanho == f->capacidade; +} - // Teste com várias inserções e remoções - // Vamos fazer 1000000 operações de enfileiramento e desenfileiramento para medir a performance - for (int i = 0; i < 1000000; i++) { - if (fila1->tamanho < fila1->capacidade) { // Insere metade das vezes - insere(fila1, (float) i); - } - if (i % 2 == 0 && fila1->tamanho > 0) { // Remove metade das vezes - remove_fila(fila1); - } - } - clock_gettime(CLOCK_MONOTONIC, &fim); - double tempo_gasto = (fim.tv_sec - inicio.tv_sec) + (fim.tv_nsec - inicio.tv_nsec) / 1000000000.0; - printf("Tempo gasto: %.2f segundos\n", tempo_gasto); - destroi(fila1); +int main() { + +// /* PRIMEIRA FILA TEMPO */ +// struct Fila *fila1 = cria(500); +// struct timespec inicio, fim; +// clock_gettime(CLOCK_MONOTONIC, &inicio); + +// // Teste com várias inserções e remoções +// // Vamos fazer 1000000 operações de enfileiramento e desenfileiramento para medir a performance +// for (int i = 0; i < 1000000; i++) { +// if (fila1->tamanho < fila1->capacidade) { // Insere metade das vezes +// insere(fila1, (float) i); +// } +// if (i % 2 == 0 && fila1->tamanho > 0) { // Remove metade das vezes +// remove_fila(fila1); +// } +// } +// clock_gettime(CLOCK_MONOTONIC, &fim); +// double tempo_gasto = (fim.tv_sec - inicio.tv_sec) + (fim.tv_nsec - inicio.tv_nsec) / 1000000000.0; +// printf("Tempo gasto: %.2f segundos\n", tempo_gasto); + +// destroi(fila1); /*SEGUNDA FILA TEMPO*/ diff --git a/fila_edu_vetor_simples.c b/fila_edu_vetor_simples.c index b3607227817a989e007f910b550ebca75a26ede6..d264ddf77f02bebced6a8a73ae07ab0992ba7a3d 100644 --- a/fila_edu_vetor_simples.c +++ b/fila_edu_vetor_simples.c @@ -57,6 +57,16 @@ void destroi(struct Fila *fila) { free(fila); } +// Função para verificar se a fila está vazia +int estaVazia(struct Fila *f) { + return f->tamanho == 0; +} + +// Função para verificar se a fila está cheia +int estaCheia(struct Fila *f) { + return f->tamanho == f->capacidade; +} + int main() { /* PRIMEIRA FILA TEMPO */