Проверка наличия заданного числа в сформированном дереве - Free Pascal

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

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

1. Создать программой числовое двоичное дерево. Написать программу: 1) проверки наличия заданного числа в сформированном дереве; Ребята,надо очень срочно,помогите пожалуйста! заранее спасибо!

Решение задачи: «Проверка наличия заданного числа в сформированном дереве»

textual
Листинг программы
function Find(root : ptree; X: integer) : ptree;
begin
  if root = nil then result := nil
  else
    if X = Root^.info then result := root
    else
      if X < Root^.info then result := Find(root^.l, X)
      else result := Find(root^.r, X);
end;
 
  // и вызов:
 
  // ... тут создаешь дерево root ...
 
  t := Find(root, 22);
 
  if t = nil then
    writeln('Нет узла с таким значением')
  else writeln('Найдено');

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

В данном случае задача заключается в поиске узла с заданным значением в дереве, и результат поиска будет либо найденный узел, либо null, если узел не найден. Вот список элементов кода с соответствующими номерами:

  1. Объявление функции с именем Find.
  2. Передача двух параметров в функцию: root (корень дерева) и X (значение, которое нужно найти).
  3. Оператор if для проверки, является ли корень дерева равным nil.
  4. Если корень равен nil, то результат функции будет равен nil.
  5. Если корень не равен nil, то выполняется оператор else.
  6. Сравнение значения X со значением Root^.info.
  7. Если X равно Root^.info, то результат функции будет равен root.
  8. Если X меньше Root^.info, то результат функции будет найден в левом поддереве (передача root^.l и X в функцию Find).
  9. Если X больше Root^.info, то результат функции будет найден в правом поддереве (передача root^.r и X в функцию Find).
  10. Вызов функции Find с аргументами root и 22.
  11. Проверка результата функции Find.
  12. Если результат равен nil, то выводится сообщение «Нет узла с таким значением».
  13. Если результат не равен nil, то выводится сообщение «Найдено».

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


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

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

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