эй, ребята, я пытаюсь уничтожить дерево с помощью очереди, и это то, что у меня есть
void heap_destroy(struct max_heap *heap) {
struct queue *new = queue_create();
queue_enqueue( new,heap->root);
struct btnode *h = heap->root;
while (!queue_is_empty(new)){
if (h->right != NULL){
queue_enqueue(new,h->right);
}
if(h->left != NULL){
queue_enqueue(new,h->left);
}
node_destroy(h);
queue_dequeue(new);
if(!queue_is_empty(new)){
h = queue_front(new);
}
}
free (heap);
queue_destroy(new);
}
, но я все еще получаю ошибку утечки памяти, и я не уверен, почему кто-то может помочь?