Проверка наличия заданного числа в сформированном дереве - 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, если узел не найден. Вот список элементов кода с соответствующими номерами:
- Объявление функции с именем Find.
- Передача двух параметров в функцию: root (корень дерева) и X (значение, которое нужно найти).
- Оператор if для проверки, является ли корень дерева равным nil.
- Если корень равен nil, то результат функции будет равен nil.
- Если корень не равен nil, то выполняется оператор else.
- Сравнение значения X со значением Root^.info.
- Если X равно Root^.info, то результат функции будет равен root.
- Если X меньше Root^.info, то результат функции будет найден в левом поддереве (передача root^.l и X в функцию Find).
- Если X больше Root^.info, то результат функции будет найден в правом поддереве (передача root^.r и X в функцию Find).
- Вызов функции Find с аргументами root и 22.
- Проверка результата функции Find.
- Если результат равен nil, то выводится сообщение «Нет узла с таким значением».
- Если результат не равен nil, то выводится сообщение «Найдено».
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д