Skip to content

Commit

Permalink
fix: remove memory leak in max_heap.c
Browse files Browse the repository at this point in the history
  • Loading branch information
vil02 committed Oct 2, 2023
1 parent e5dad3f commit efc2fef
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions data_structures/heap/max_heap.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ typedef struct max_heap

Heap *create_heap(Heap *heap); /*Creates a max_heap structure and returns a
pointer to the struct*/
/**
* @brief Deallocates memory associated with a given heap.
*
* @param heap Pointer to the heap structure to be deallocated.
*/
void delete_heap(Heap *const heap);

void down_heapify(Heap *heap, int index); /*Pushes an element downwards in the
heap to find its correct position*/
void up_heapify(Heap *heap, int index); /*Pushes an element upwards in the heap
Expand Down Expand Up @@ -46,6 +53,7 @@ int main()
printf("Popping an element.\n");
printf("Top element = %d \n", top(head));
printf("\n");
delete_heap(head);
return 0;
}
Heap *create_heap(Heap *heap)
Expand All @@ -57,6 +65,16 @@ Heap *create_heap(Heap *heap)
return heap;
}

void delete_heap(Heap *const heap)
{
if (heap == NULL)
{
return;
}
free(heap->p);
free(heap);
}

void down_heapify(Heap *heap, int index)
{
if (index >= heap->count)
Expand Down

0 comments on commit efc2fef

Please sign in to comment.