summaryrefslogtreecommitdiff
path: root/assignments/01/priority_queue.c
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-06-15 22:36:28 -0600
committermo khan <mo.khan@gmail.com>2020-06-15 22:36:28 -0600
commitd0b23018d89be21edd0e04d2d2d0049759384e99 (patch)
tree1902ea7dab68b38090ec04d1e7c93de52cde59b9 /assignments/01/priority_queue.c
parent4ae6a61711f37b18e83da033b1761ef189867c46 (diff)
Extract destroy function and rename count -> size()
Diffstat (limited to 'assignments/01/priority_queue.c')
-rw-r--r--assignments/01/priority_queue.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/assignments/01/priority_queue.c b/assignments/01/priority_queue.c
index aa7fb6b..b06e983 100644
--- a/assignments/01/priority_queue.c
+++ b/assignments/01/priority_queue.c
@@ -17,7 +17,7 @@ Node *create_node(int priority, int data) {
return node;
}
-int count(PriorityQueue *queue) {
+int size(PriorityQueue *queue) {
return queue->size;
}
@@ -62,3 +62,15 @@ void inspect(PriorityQueue *queue) {
}
printf("*******\n");
}
+
+void destroy(PriorityQueue *queue) {
+ Node *current = queue->head;
+ Node *tmp;
+
+ while(current) {
+ tmp = current;
+ current = current->next;
+ if (tmp)
+ free(tmp);
+ }
+}