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

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

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

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

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

textual
Листинг программы
  1. function Find(root : ptree; X: integer) : ptree;
  2. begin
  3.   if root = nil then result := nil
  4.   else
  5.     if X = Root^.info then result := root
  6.     else
  7.       if X < Root^.info then result := Find(root^.l, X)
  8.       else result := Find(root^.r, X);
  9. end;
  10.  
  11.   // и вызов:
  12.  
  13.   // ... тут создаешь дерево root ...
  14.  
  15.   t := Find(root, 22);
  16.  
  17.   if t = nil then
  18.     writeln('Нет узла с таким значением')
  19.   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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы