Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Непонятная автору функция - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как записать условие?? http://www.cyberforum.ru/cpp-beginners/thread192130.html
необходимо что бы проверялось условие на возрастание последовательности и на то что если n>а15 то завершение программы!!!! Вот что я написал #include <stdio.h> #include <stdlib.h> int...
C++ Подсчет колличества попаданий в квадрат Нужна форма и программа для подсчета количества попаданий в квадрат с заданными параметрами случайных точек, координаты которых генерируются от датчика случайных чисел. Количество чисел для... http://www.cyberforum.ru/cpp-beginners/thread192119.html
Нахождение большего числа в массиве C++
Доброго время суток друзья. Помогите, исправьте что надо. Задание такое: Дан массив F: array , определить количество"особых" элементов в нем. Элемент считается особым, если он больше суммы остальных...
Передача указателя на функцию-член класса C++
Необходимо передать фунцию-член класса как аргумент в функцию другого класса. Код: Файл main.cpp #include "head.hpp" int Class1::foo (int x) { return x+2; } void Class1::doIt() { int k...
C++ разбить на функции программу http://www.cyberforum.ru/cpp-beginners/thread192075.html
помогите пожалуйста разбить на функции программу.все переменные передавать в качестве параметров.не использовать глобальные переменные.программа следущая: // lab4.cpp: определяет точку входа для...
C++ Генератор функции Для кривой представленной в параметрической форме разработать генератор этой функции в виде программы Провести испытания этого генератора и результаты представить в виде графика функций Роза... подробнее

Показать сообщение отдельно
BreatheInMyVoid
20 / 16 / 1
Регистрация: 05.03.2010
Сообщений: 59
16.11.2010, 17:14
Там где-то должен быть класс или структура самого дерева Tree_node, что-то вроде:
C++
1
2
3
4
5
struct Tree_node {
    int val;
    struct Tree_node *left_child;
    struct Tree_node *right_child;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Tree_node * & find_node( T find_value ) {
        //создаем главный узел 
        Tree_node *tn = root; 
        //пока не достигнем конца дерева или не найдем нужное значение
        while ( (tn != 0) && (tn->val != find_value) ) { 
                //если искомое значение меньше чем значение в узле
                if ( find_value < tn->val ) 
                        //идем влево
                        tn = tn->left_child; 
                else 
                        //или вправо
                        tn = tn->right_child; 
        }
                
        // Вместо того, чтобы просто возвратить tn, мы несколько 
        // усложняем процедуру, гарантируя, что возвращаем *ссылку* 
        // в пределах дерева на узел, который ищем. 
                
        if ( tn == 0 ) 
                // Find_value нет в дереве. 
                return zero_node; 
        else if ( tn->isa_left_child( ) ) 
                // Tn - левый потомок своего родителя. 
                return tn->parent->left_child; 
        else if ( tn->isa_right_child( ) ) 
                // Tn - правый потомок своего родителя. 
                return tn->parent->right_child; 
        else if ( tn == root ) 
                // Специальный случай - родитель отсутствует. 
                return root; 
 
        // Управление не достигает этой точки. Возвратить фиктивное 
        // значение, чтобы предотвратить предупреждение компилятора, 
        assert(false); 
        return zero_node; 
}
Могу ошибаться...
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru