С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Бинарное дерево - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ метод половинного деления С++ в eclipce http://www.cyberforum.ru/cpp-beginners/thread516413.html
люди помогите плиз мне нужен цикл который будет работать для этого метода
C++ помогите не пойму в чем проблема компилятор не выдает ошибку,но не вычисляет произведение задача:1) Дан массив A. Вычислить произведение между первым и последним положительными элементами. Программа: #include <iostream.h> #include <stdlib.h> int N=5,i,K,P,N1,NP; float S,A; int... http://www.cyberforum.ru/cpp-beginners/thread516404.html
C++ Переставить строки в порядке убывания сумм элементов
здравствуйте! помогите пожалуйста решить задачу! очень нужно! Дана целочисленная квадратная матрица порядка n. Переставить строки в порядке убывания сумм элементов. Суммы строк выводить вместе...
Проверить, все ли строки матрицы содержат хотя бы один положительный элемент C++
проверить , все ли строки матрицы содержат хотя бы один положительный элемент . если да, то изменить знаки всех элементов матрицы на обратные.... Нужно сделать с динамическим массивом , но я могу...
C++ Работа с двумя списками http://www.cyberforum.ru/cpp-beginners/thread516398.html
Суть задания: Два списка А и Б. У одного 5 чисел, у другого пять чисел. У первого:1,2,3,4,5. У второго:3,4,5,6,7. Нужно их вывести на экран. Потом из первого списка удалить числа, которые есть и у...
C++ написать програмку(простенькую) на С++ Заданная квадратная матрица действительных чисел. Найти среднее арифметическое положытельных элементов, находящихся на главной диагонали. помогите пожаалуйста :) подробнее

Показать сообщение отдельно
VladSharikov
22 / 22 / 1
Регистрация: 02.12.2010
Сообщений: 824

Бинарное дерево - C++

11.03.2012, 21:06. Просмотров 1215. Ответов 11
Метки (Все метки)

Привет

Делаю бинарное дерево, пытаюсь добавить элемент.
Что делаю не так?
Класс дерева
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
37
38
39
40
41
42
43
44
45
struct node{
       int data; //поле данных
       node* left; //указатель на левый потомок
       node* right; //указатель на правый потомок
};
 
 
class tree {
public:
    node* root;
 
 
    tree() {
        root = NULL;
    }
 
    node *create(int info) {
        node *new_node = new node;
        new_node->data = info;
        new_node->left = NULL;
        new_node->right = NULL;
        return new_node;
    }
    node *funny_boy(node* root, int info) {
        if(root == NULL) root = create(info);
        if(info < root->data)
            if(root->left = NULL)
                root->left = create(info);
            else
                funny_boy(root->left, info);
        if(info >= root->data)
            if(root->right == NULL)
                root->right = create(info);
            else 
                funny_boy(root->right, info);
        return root;
    }
    void printt(node *root) {
        if(root != NULL) {
            printt(root->left);
            printf("%d 5", root->data);
            printt(root->right);
        }
    }
};
мэйн
C++
1
2
3
4
5
6
7
8
9
10
11
int main() {
    setlocale(LC_ALL, "");
    tree t;
 
    t.funny_boy(t.root, 5);
        t.funny_boy(t.root, 10);
    t.printt(ROOT);
 
    printf("%d", t.root->data);
 
    t.printt(t.root);
Должен вывести 5, 10 или не знаЮ, мусор там. На крайняк выдать ошибку.
Ошибок не выводит, выводит пустой экран.

Что я делаю не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.