Создание тернарного дерева и поиск нужного элемента в нем - C (СИ)
Формулировка задачи:
Всем привет. В общем такая проблемка. Задали курсач на тему: Создание тернарного дерева и поиск нужного элемента в нем. В школе я изучал паскаль. А в универе приподают Си, и то только по верхам =\
Не могу я понять, как это сделать =( Помогите, пожалуйста
Решение задачи: «Создание тернарного дерева и поиск нужного элемента в нем»
textual
Листинг программы
PNode Search (PNode Tree, int what)
{
if ( ! Tree ) return NULL; // ключ не найден
if ( what == Tree->key ) return Search ( Tree->middle, what ); // ключ найден!
// искать в поддеревьях
if ( what < Tree->key )return Search ( Tree->left, what );
if ( what > Tree->key ) return Search ( Tree->right, what );
}
Объяснение кода листинга программы
- Функция Search принимает два аргумента: PNode Tree и int what.
- Если Tree равно NULL, то возвращается NULL.
- Если what равно Tree->key, то возвращается Search ( Tree->middle, what ).
- Если what меньше Tree->key, то возвращается Search ( Tree->left, what ).
- Если what больше Tree->key, то возвращается Search ( Tree->right, what ).