Я пытаюсь создать свой итеративный подход к удалению всего BST.
И я не получаю ожидаемого вывода после того, как вставляю узлы через свою функцию insert_nodes.
Это должно вывестичто-то вроде: влево, вправо, #nr #nr #nr для чисел 5,3,4
Я знаю, что это довольно легко сделать рекурсивно, но я хочу сделать это итеративно.Я совершенно запутался с указателями и свободными, потому что мне нужно освободить все узлы.
Я ценю любой тип помощи и объяснений.
struct node
{
int value;
node *left;
node *right;
}node;
void disposeBST(*node root)
if (root == NULL)
return;
node *ptr = root;
while (ptr != NULL )
{
if(ptr->right != NULL){
printf("left");
ptr= ptr->left;
}
if(ptr->right != NULL)
{
printf("right");
ptr =ptr->right ;
}
}
printf("#nr");
free(root);
ptr = 0;
}