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

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

Войти
Регистрация
Восстановить пароль
 
Сергей1990
0 / 0 / 0
Регистрация: 23.06.2009
Сообщений: 6
#1

Клон бинарного дерева - C++

23.06.2009, 20:15. Просмотров 637. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста создать копию дерева) извините, если уже такая тема здесь была...не могу найти...заранее спасибо) вот программа:
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>

struct node
{ int Key;
int Count;
node *Left;
node *Right;};

void Poisk (int x, node **p)
{ if (*p==0)
{ *p = new(node);
(**p).Key = x;
(**p).Count = 1;
(**p).Left = (**p).Right = 0;
}
else if (x<(**p).Key)
Poisk (x,&((**p).Left));
else if (x>(**p).Key)
Poisk (x,&((**p).Right));
else (**p).Count = (**p).Count + 1;}


void BuildTree (node **Tree){
int el;
*Tree = 0;
cout<<"Enter keys of tree tops:\n";
cin>>el;
while (el!=0)
{ Poisk (el,Tree); cin>>el;}
}


void PrintTree (node **Tree)
{ cout<<"\n"<<(**Tree).Key;
if ((**Tree).Left!=0)
PrintTree (&(**Tree).Left);
if ((**Tree).Right!=0)
PrintTree (&(**Tree).Right);}

void Klone (node **Tree, node **nTree)
{ (**nTree).Key=(**Tree).Key;
(**nTree).Left=(**Tree).Left;
(**nTree).Right=(**Tree).Right;
(**nTree).Count=(**Tree).Count;
if (&(**Tree).Left!=0)
Klone (&(**Tree).Left, &(**nTree).Left);
if (&(**Tree).Right!=0)
Klone (&(**Tree).Right, &(**nTree).Right);
}

int main ( ) {
node **T1;
node **T2;
*T2=0;
BuildTree (T1);
cout<<"\nPress any key to print tree";
getch();
PrintTree (T1);
Klone (T1, T2);
cout<<"\nPress any key to print new tree";
getch();
PrintTree (T2);
getch ( );
return 0;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2009, 20:15     Клон бинарного дерева
Посмотрите здесь:

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

Написать шаблон бинарного дерева с функцией распечатки дерева - C++
Не понимаю, что от меня хотят. Дано такое задание: Написать шаблон бинарного дерева с функцией распечатки дерева *(+(d,e),c) в виде...

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

Реализация бинарного дерева С++ - C++
Доброго времени суток, уважаемые форумчане. Возник вопрос по реализации бинарного дерева на С++, а именно с методом удаления элемента в...

Построение бинарного дерева - C++
Написать программу построения бинарного дерева с помощью связных структур и поиска в дереве при симметричном порядке обхода его. Если...

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

Проблемы с выводом бинарного дерева - C++
Вот, пытался сделать лабу. Проблема с выводом. Извините за код, знаю что он кривой, сделайте замечания!!! /* Два бинарных дерева...

Реализация бинарного дерева поиска - C++
Не выводит значения узлов деревьев, как я понял происходит утечка памяти, но я не пойму, что нужно сделать. Программа ошибку не выдаёт....

Шаблонный класс бинарного дерева - C++
всем привет, возник такой вопрос вот есть шаблонный класс бинарного дерева поиска, задается тип ключа и тип данных. есть метод, который...

Обходы бинарного дерева, рекурсивные и не. - C++
#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;string.h&gt; using namespace std;


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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