From 8eabde790b36c3bd29b2e6b9c5296ce5b3b38dcd Mon Sep 17 00:00:00 2001 From: mo khan Date: Mon, 29 Jun 2020 14:51:01 -0600 Subject: Return data instead of a Node* --- src/01/01a/priority_queue.c | 6 +++--- src/01/01a/priority_queue.h | 2 +- src/01/01a/priority_queue_test.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/01/01a/priority_queue.c b/src/01/01a/priority_queue.c index f19c838..35cfa92 100644 --- a/src/01/01a/priority_queue.c +++ b/src/01/01a/priority_queue.c @@ -49,14 +49,14 @@ void add(PriorityQueue *queue, int priority, int data) { } // This function is constant time O(1) -Node *delete_min(PriorityQueue *queue) { +int delete_min(PriorityQueue *queue) { if (queue->head) { Node *tmp = queue->head; queue->head = tmp->next; queue->size--; - return tmp; + return tmp->data; } - return NULL; + return 0; } void destroy(PriorityQueue *queue) { diff --git a/src/01/01a/priority_queue.h b/src/01/01a/priority_queue.h index 0fc63ee..c172411 100644 --- a/src/01/01a/priority_queue.h +++ b/src/01/01a/priority_queue.h @@ -14,5 +14,5 @@ typedef struct { PriorityQueue *initialize(); int size(PriorityQueue *queue); void add(PriorityQueue *queue, int priority, int data); -Node *delete_min(PriorityQueue *queue); +int delete_min(PriorityQueue *queue); void destroy(PriorityQueue *queue); diff --git a/src/01/01a/priority_queue_test.c b/src/01/01a/priority_queue_test.c index 02ae78e..29da2b3 100644 --- a/src/01/01a/priority_queue_test.c +++ b/src/01/01a/priority_queue_test.c @@ -51,7 +51,7 @@ Ensure(PriorityQueue, removes_the_node_with_the_lowest_priority){ add(queue, 2, 200); assert_that(size(queue), is_equal_to(3)); - assert_that(delete_min(queue)->data, is_equal_to(100)); + assert_that(delete_min(queue), is_equal_to(100)); assert_that(queue->head->data, is_equal_to(200)); assert_that(size(queue), is_equal_to(2)); -- cgit v1.2.3