Пусть у меня есть структура, которая выглядит следующим образом:Free структуры дерева с не рекурсивной функцией
struct tree_suspects {
char **description;
struct tree_suspects *right_description;
struct tree_suspects *wrong_description;
}
.. и я хочу free
каждый узел после выделения каждого из них с malloc
.
Дерево должно выдерживать сотни узлов без проблем. Таким образом, использование рекурсивных функций было бы очень неэффективным для стека кадров, так есть ли какая-либо форма цикла или что-то, что позволило бы мне группировать все узлы в массиве? Рекурсия - единственный способ сделать это?
Можете ли вы изменить свои узлы на указатель на родителя? В противном случае вам всегда нужна память O (высота). – mafso