Вот есть такая задачка:
Цитата
10. Создайте программой два числовых двоичных дерева. Опишите рекурсивно и нерекурсивно логическую функцию, входными параметрами которой являются два дерева, проверяющую на равенство эти деревья. В программе используйте подпрограммы.
рекурсивный вариант у меня получился такой:
function equal(const tree0, tree1 :TTree ):boolean;, а вот нерекурсивную функцию как то не получается... поиском нашел похожую задачу ( Help Me! ) , но не понял код...
{ pre-order }
begin
if tree0 = tree1 then equal:=true else
if (tree0 = nil) and (tree1 <> nil) then equal:=false else
if (tree1 = nil) and (tree0 <> nil) then equal:=false else
equal:=(( tree0^.data = tree1^.data) and
equal(tree0^.left, tree1^.left) and
equal(tree0^.right, tree1^.right));
end; { equal }
помогите пожалуйста...
в атаче моя программа целиком.
заранее благодарен.