- Задание на 4
- function next(var stack : TStack) : PTreeNode;
- возвращает очередную по порядку вершину дерева
- на вход подается стек, в котором лежат вершины
- если стек пуст, функция возвращает nil
- пока стек не пуст
- из стека извлекается верхняя вершина (n)
- если n помечена нулем
- n помечается единицей
- n помещается в стек
- в стек помещается ее левый сын (если есть), помеченный нулем
- если n помечена единицей
- в стек кладется ее правый сын (если есть), помеченный нулем
- функция возвращает n (и заканчивает работу)
- первый раз функции передается стек, в котором лежит корень дерева, помеченный нулем
- если в дереве N вершин, то N последовательных вызовов next возвращают все вершины в порядке возрастания
- Задание на 5
- procedure printTrees(t1, t2 : PTreeNode);
- распечатать значения всех вершин деревьев t1 и t2 в порядке возрастания
|
|