Бинарное дерево - Просмотр дерева в следующем порядке: узел, левая ветвь, правая ветвь - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

3. Разработать программу работы с бинарным деревом. Программа должна содержать следующие процедуры, вызываемые из меню: - построение пустого дерева; - добавление нового элемента; - удаление указанного элемента; - просмотр дерева в следующем порядке: узел, левая ветвь, правая ветвь. Как сделать именно такой просмотр. Я просто нашел другой просмотр (левая , правая, узел). Вот код:
вот тут обход
пожалуйста, помогите.

Решение задачи: «Бинарное дерево - Просмотр дерева в следующем порядке: узел, левая ветвь, правая ветвь»

textual
Листинг программы
procedure Lkp(const Tree: PNode; const aCode : String);
begin
  if Tree=nil then exit; {Если дерево пустое - выходим.}
  write('  ', aCode, ':', Tree^.data); {Данные текущего узла.}
  Lkp(Tree^.left, aCode + '-1'); {Обход левого поддерева.}
  Lkp(Tree^.right, aCode + '-2'); {Обход правого поддерева.}
end;
 
{Пример вызова для распечатки всего дерева.}
Lkp(Tree, '0');

Объяснение кода листинга программы

  1. В процедуре Lkp есть два аргумента: константный указатель на узел Tree и строка aCode.
  2. Если дерево пустое (Tree равно nil), то выход из процедуры с помощью оператора exit.
  3. Если дерево не пустое, то записывается строка ' ' (пробел, пробел, двоеточие, двоеточие, символ ':', значение поля data узла) на экран.
  4. Затем происходит обход левого поддерева с помощью вызова процедуры Lkp, передавая в нее Tree^.left (указатель на левое поддерево) и aCode + '-1' (строку, добавляющую к aCode дефис и единицу).
  5. После этого происходит обход правого поддерева с помощью вызова процедуры Lkp, передавая в нее Tree^.right (указатель на правое поддерево) и aCode + '-2' (строку, добавляющую к aCode дефис и две единицы).
  6. Код завершается после выхода из цикла обхода поддеревьев.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы