Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
12712266
1 / 1 / 0
Регистрация: 06.09.2014
Сообщений: 38
1

Изменение бинарного дерева на обычное

02.12.2014, 15:28. Просмотров 180. Ответов 0
Метки нет (Все метки)

Не знаю, как называется такое дерево, назову его обычным. Это дерево в которое добавляются элементы слева направо. Создали вершину 5, потом вводим новый элемент, например, 11, он должен находится слева от 5, следующий элемент должен находится справа от 5. Следующий слева от 11, потом справа от 11, потом слева от 5 и так далее. У меня есть код бинарного дерева, в котором вроде все понятно. Помогите, пожалуйста, переделать его под обычное дерево

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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
struct node{
    int x;
    node *l, *r;
};
 
void show(node *&tree){ 
    if (tree != NULL){ 
        show(tree->l); 
        cout << tree->x; 
        show(tree->r); 
    }
}
 
void add_node(int x, node *&MyTree){
    if (NULL == MyTree){
        MyTree = new node;
        MyTree->x = x; 
        MyTree->l = MyTree->r = NULL; 
    }
    if (x<MyTree->x){
        if (MyTree->l != NULL) add_node(x, MyTree->l);
        else{
            MyTree->l = new node;
            MyTree->l->l = MyTree->l->r = NULL; 
            MyTree->l->x = x;
        }
    }
    if (x>MyTree->x){
        if (MyTree->r != NULL) add_node(x, MyTree->r); 
        else{
            MyTree->r = new node;
            MyTree->r->l = MyTree->r->r = NULL;
            MyTree->r->x = x;
        }
    }
 
}
 
int main(){
    node * tree = NULL; 
    for (int i = 10; i > 0; i--) add_node(i, tree); 
    show(tree); 
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2014, 15:28
Ответы с готовыми решениями:

Запись бинарного дерева в файл и восстановление из него этого дерева
Задача такая: есть бинарное дерево. Каждый элемент дерева содержит 3 указателя...

Написать шаблон бинарного дерева с функцией распечатки дерева
Не понимаю, что от меня хотят. Дано такое задание: Написать шаблон бинарного...

Построение бинарного дерева на основе не бинарного
В лабораторной работе есть такое задание: Создайте процедуру построения...

Создание бинарного дерева из бинарного файла
struct Bin { string name; string city; int players; int score; };...

Вывод бинарного дерева на экран в виде "дерева"
основная задача: подсчет количества листьев. проблема: при просмотре хочу...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2014, 15:28

Обход бинарного дерева
может есть у кого такой пример или похожий??или часть какая нибудь?

Обход Бинарного дерева
Задача: написать функцию, помощью которой можно получить n-тый элемент...

Высота бинарного дерева
Надо найти высоту бинарного дерева.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru