From 45e5341bbb251851630b8249be3ab1b2bd454fe1 Mon Sep 17 00:00:00 2001 From: lucasbivar Date: Mon, 12 Apr 2021 17:35:57 -0300 Subject: [PATCH] create front and back functions --- DynamicQueue/dynamicQueue.c | 37 ++++++++++++++++++++++++++++++++++++- DynamicQueue/dynamicQueue.h | 8 +++++++- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/DynamicQueue/dynamicQueue.c b/DynamicQueue/dynamicQueue.c index 44fb35c..8addf79 100644 --- a/DynamicQueue/dynamicQueue.c +++ b/DynamicQueue/dynamicQueue.c @@ -83,4 +83,39 @@ int pop(dynamicQueue* q){ free(aux); q->size--; return 1; -} \ No newline at end of file +} + +int front(dynamicQueue* q, struct student* student){ + if(q == NULL) return 0; + if(empty(q)) return 0; + + *student = q->begin->data; + + return 1; +} + +int back(dynamicQueue* q, struct student* student){ + if(q == NULL) return 0; + if(empty(q)) return 0; + + *student = q->end->data; + + return 1; +} + +int show(dynamicQueue* q){ + if(q == NULL) return 0; + if(empty(q)) return 0; + + Node* current = q->begin; + printf("\n=-=-=-=-=-=-=-=-=-Queue of Students-=-=-=-=-=-=-=-=-=\n"); + while(current != NULL){ + printf("Name: %s", current->data.name); + printf("Enrollment: %d\n", current->data.enrollment); + printf("Pontuation 1: %.2f\n", current->data.p1); + printf("Pontuation 2: %.2f\n", current->data.p2); + printf("Pontuation 3: %.2f\n\n", current->data.p3); + current = current->next; + } + return 1; +} diff --git a/DynamicQueue/dynamicQueue.h b/DynamicQueue/dynamicQueue.h index 5d00722..af295fa 100644 --- a/DynamicQueue/dynamicQueue.h +++ b/DynamicQueue/dynamicQueue.h @@ -18,4 +18,10 @@ int full(dynamicQueue* q); int push(dynamicQueue* q, struct student student); -int pop(dynamicQueue* q); \ No newline at end of file +int pop(dynamicQueue* q); + +int front(dynamicQueue* q, struct student* student); + +int back(dynamicQueue* q, struct student* student); + +int show(dynamicQueue* q);