Commit 8eabde7
Changed files (3)
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) {
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);
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));