| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Ошибка в сравнении деревьев |
| Автор: kaizer131 25.5.2010, 08:25 | ||||
| Доброго времени суток. Есть необходимость сравнить содержимое двух деревьев на совпадение ключей их звеньев (содержимое ключей задается случайным образом) У меня возникает ошибка в функции, которая сравнивает ключи в двух деревьях. (построение и вывод деревьев проводятся без ошибок) Идентифицировать ошибку не могу так, как консоль попросту вылетает, где то в строках (по разному)
Думаю что причина в неправильной работе с памятью, но могу ошибаться. Сама функция TreeSearch, вызывается из процедуры Printtree_Left ниже приведён кусок кода, отвечающий за поиск и сравнение :
Буду благодарен за помощь или за ссылки на материалы по сравнению бинарных деревьев поиска ( Гугл ничего толкового не выдал ) |
| Автор: kaizer131 25.5.2010, 09:46 |
| так с одним разобрался пропустил else в строке If (tree2^.KEY = key) Then так, иду дальше, теперь нужно чтоб он выводил найденные ключи |
| Автор: kaizer131 25.5.2010, 13:28 | ||
| Ничего не понимаю, строка if TreeSearch( tree2, tree1^.KEY) = true then проверяет возвращает ли функция TreeSearch истинну или ложь т.е совпадает ли значение текущего ключа в дереве 1 с ключами дерева 2, проверка проходит нормально (при совпадении присваивается истинна) но почему- то строки
не выводит ничего ....:confused: |
| Автор: kaizer131 26.5.2010, 12:37 |
| Всё , проблема решена, тема закрыта . |