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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
#1

Удаление узла бинарного дерева - C++

15.11.2010, 12:15. Просмотров 913. Ответов 2
Метки нет (Все метки)

всем привет.вот есть у меня бинарное дерево тока фун-ии добавления и обхода.очень нужно удалени помогите плиз.
.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
#include "TreeNode.h"
 
int main(void)
{
TreeNode ob(3); 
ob.AddElement(5);
ob.AddElement(6);
ob.AddElement(4);
ob.AddElement(8);
cout << "Up down method\n";
ob.ShowUpDown();
return 0;
}
.h
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
#include <iostream>
using namespace std;
class TreeNode{
    int value;
    TreeNode *left, *right;
    TreeNode *CreateTreeNode();
    TreeNode *CreateTreeNodeEx() {return new TreeNode;}
  public:
    TreeNode(){left=right=NULL; value = 0;} 
    TreeNode(int x){left=right=NULL; value = x;}
    ~TreeNode(){left=right=NULL; value = 0;}
    TreeNode *GetRightNode()
    {return right;} 
    TreeNode *GetLeftNode()
    {return left;}
    int AddElement(int x)
    {if(x < value){
            if(left){left->AddElement(x);}
            else {if (!(left = CreateTreeNode()))       return  -1;
                else    left->SetValue(x);}
        } else {
            if(right){right->AddElement(x);}
            else {if (!(right = CreateTreeNode()))      return  -1;
                else    right->SetValue(x);}}return 0;
    }
 
    int GetValue(){return value;}
    void SetValue(int &x){value = x;}
    void ShowUpDown();
    };
TreeNode* TreeNode::CreateTreeNode()
{return new TreeNode;}
 
void TreeNode::ShowUpDown()
{
cout << GetValue() << " ";
if (left)   left->ShowUpDown();
if (right)  right->ShowUpDown();
}
Добавлено через 1 час 55 минут
ауууу кто нибудь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2010, 12:15     Удаление узла бинарного дерева
Посмотрите здесь:

Удаление Узла бинарного дерева - C++
Добрый вечер. Имеем Бинарное дерево поиска. При удалении некоторого узла . возникают три случая. Один из случаев , наличие у...

Удаление Узла Бинарного Дерева. - C++
Добрый День.Возникла проблема с реализацией части функции контейнера для удаления элемента с двумя узлами(по всем правилам бинарных...

Удаление узла бинарного дерева, проблема с функциями, адресацией - C++
код: #include &lt;cstdlib&gt; #include &lt;iostream&gt; typedef struct tree{ // обьявляем тип char data; //дата изьятия в формате xx.xx.xxxx ...

Удаления узла из бинарного дерева поиска - C++
Уже довольно много времени убил на эту задачу, теорию понимаю, на практике реализовать никак не получается. Помогите пожалуйста написать...

Удаление узла дерева - C++
Добрый вечер. У меня маленькая проблема - написал шаблон для работы с бинарным деревом поиска. Вроде асе робит, но возникла проблема с...

Удаление узла из дерева - C++
сделав функции добавления,поиска,пару обходов и вывод ввиде дерева в консоли(жаль что нельзя размер по x изменить) при тестировании...

Функция: удаление узла дерева со всеми потомками - C++
подскажите код функции которая удаляет элемент дерева со всеми его потомками NODE *SEARCH(char *key, NODE *root) { NODE...

Удаление вершины бинарного дерева - C++
Как удалять вершины бинарного дерева вместе с потомками?

Удаление бинарного дерева по слоям - C++
вот задачка такая встала и ни че в голову не приходит. как будет выглядеть функция чтоб удаляла бинарное дерево по слоям? плиззз...

Удаление элемента из бинарного дерева - C++
Ругается компилятор в Visual Studio при выполнении кода удаления элемента, а именно в том месте, где нужно удалить элемент с двумя...

Освобождение памяти, удаление бинарного дерева - C++
Добрый день. Написал программу, которая ищет в файле неиспользуемые переменные, т.е. те, которые объявлены. Всё в общем-то работает, но...

Удаление элемента из сбалансированого бинарного дерева - C++
Задание: написать программу, которая создает сбалансированное бинарное дерево, написать процедуру, которая удалит все парные элементы...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
moonblade
0 / 0 / 0
Регистрация: 15.11.2010
Сообщений: 12
15.11.2010, 15:44     Удаление узла бинарного дерева #2
http://www.cyberforum.ru/cpp/thread5900.html
Книга где эта функция расписана:
http://www.google.ru/url?sa=t&source...VqLtCQ&cad=rjt
genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
16.11.2010, 09:39  [ТС]     Удаление узла бинарного дерева #3
а можно в мой исходный код добавить?а то что то не пойму.

Добавлено через 3 минуты
и мне нужно удаление числа которое я отправлю функции
Ответ Создать тему
Опции темы

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