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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить сумму всех элементов второго столбца двумерного массива http://www.cyberforum.ru/cpp-beginners/thread1159618.html
Дан двумерный массив. Определить: сумму всех элементов второго столбца элементов; сумму всех элементов k-той строки элемента.
C++ Вывод мусора после отработки функции #include <iostream> #include <conio.h> void Binary(char *&,int); using namespace std; int main() { int number; char * str = new char; cin >> number; Binary(str, number); http://www.cyberforum.ru/cpp-beginners/thread1159616.html
Классы "Пара чисел" и "Прямоугольный треугольник" C++
Задача: Базовый класс: ПАРА_ЧИСЕЛ (PAIR) Первое_число (first) - int Второе_число (second) – int Определить методы изменения полей и вычисления произведения чисел. Создать производный класс ПРЯМОУГОЛЬНЫЙ_ТРЕУГОЛЬНИК (RIGHTANGLED), с полями-катетами. Определить метод вычисления гипотенузы. И собственно код
Составить программу, проверяющую является ли данное число простым C++
Составить программу, проверяющую является ли данное число простым Спасибо за помощь :)
C++ Найти НОК (наименьшее общее кратное) массива натуральных чисел http://www.cyberforum.ru/cpp-beginners/thread1159600.html
Найти НОК (наименьшее общее кратное) массива натуральных чисел. Спасибо за помощь :)
C++ Найти НОД (наибольший общий делитель) массива натуральных чисел Найти НОД (наибольший общий делитель) массива натуральных чисел. Спасибо за помощь :) подробнее

Показать сообщение отдельно
Ronin Mcreal
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 1
27.04.2014, 23:35     Бинарное дерево
Помогите пожалуйста с программой. Нужно сделать обход, слева и справа(функции get_left и get_right), желательно обход в глубину. И реализовать «подъем» на верхний уровень(функция root), т.е. получение корня.


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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#pragma once
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class Dt
{
private: 
    Dt *up, *left, *right;
    int x;
public:
    Dt* add_left(int x)
    {
        if(left) delete left;
        Dt* dd = new Dt(x);
        left = dd;
        return left;
    }
    Dt* add_right(int x)
    {
        if(right) delete right;
        Dt* dd = new Dt(x);
        right = dd;
        return right;
    }
    
    
    //Dt* get_left()//получение эль-та справа ...                      
    void get_left(Dt *p, int level)
    {
        if(p)
        {
          get_left (p->left, level + 1);
        }
    }
    
    
    //Dt* get_rigt()
    void get_right (Dt *p, int level)
    {
        if(p)
        {
          get_right (p->left, level + 1);
        }
    }
    
    
    Dt* root()
    {
    }
    void insert(int x)
    {
        Dt *cc = this;
 
    }
    void set_x(int x)
    {
        if(x < Dt dt) add_left( x, Dt dt)//если Х меньше чем семечко(уходим влево)
    
        {
            Dt dt = new Dt(x);
            Dt dt->l = NULL;
            Dt dt->r = NULL;
            Dt dt-> x = x;
        }
        
        
        if(x > Dt dt) add_right( x, Dt dt)//если Х меньше чем семечко(уходим вправо)
        
        {
            Dt dt = new Dt(x);
            Dt dt->l = NULL;
            Dt dt->r = NULL;
            Dt dt-> x = x;*/
    }
    void print()
    {
        if(left) left->print();
        cout<<x<<" ";
        if (right) right->print();
    }
    Dt(void)
    { up=NULL;
        left=NULL;
        right=NULL;
    }
    Dt(int x)
    {
        up=NULL;
        left=NULL;
        right=NULL;
        this->x = x;
    }
    ~Dt(void)
    {
        delete left; 
        delete right;
    }
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru