From bb65fe9bd6dda764190caa350b36c89b60dd1221 Mon Sep 17 00:00:00 2001
From: Eduardo Souza <eduardomsouza@ufpr.br>
Date: Fri, 25 Oct 2024 07:41:36 -0300
Subject: [PATCH] [ADD] EstaCheia e EstaVazia

---
 a.out                    | Bin 16392 -> 16400 bytes
 fila_edu_cir.c           |  11 +++++++++
 fila_edu_vetor_ot.c      |  50 ++++++++++++++++++++++++---------------
 fila_edu_vetor_simples.c |  10 ++++++++
 4 files changed, 52 insertions(+), 19 deletions(-)

diff --git a/a.out b/a.out
index 084f7f8236acf30cbcab421912deff1446c6b235..cf19a6ca2e727df659470276f888e7d1f6f43cc6 100644
GIT binary patch
delta 3827
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

delta 3693
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

diff --git a/fila_edu_cir.c b/fila_edu_cir.c
index a252912..2d32364 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 9ed044b..0b6d96c 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 b360722..d264ddf 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 */
 
-- 
GitLab