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

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

Войти
Регистрация
Восстановить пароль
 
Вика Б
#1

Копирование дерева - C++

11.02.2010, 22:30. Просмотров 641. Ответов 0
Метки нет (Все метки)

Задача на С++: описать процедуру, которая по произвольному бинарному дереву строит его копию.

Среди информации есть множество отрывков прог, которые касаются дерева поиска и дерева выражений. Могу написать их, если нужно...

Я уже поискала на форуме похожие задачи.
Нашла некий код, но он не идет
____________
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
#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
11.02.2010, 22:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Копирование дерева (C++):

Копирование бинарного дерева - C++
Имеется бинарное дерево типа class TreeNode { public: TreeNode(); //конструктор virtual ~TreeNode(); //деструктор ...

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

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

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

обход дерева - C++
Здравствуйте! У меня вопрос: Есть класс: class D { vector &lt;A*&gt; count; }; ...

Обход дерева) - C++
Прога работает) но сказали, что нужно сделать отдельную функцию обхода дерева) можете помочь) или пример)) #include &lt;iostream.h&gt; ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2010, 22:30
Привет! Вот еще темы с ответами:

обход дерева - C++
struct SAcson { int l,c; // строка, столбец float x; // заряд bool e; // возбуждающий или тормозящий }; struct SSinapc { ...

По поводу дерева - C++
&quot;Дано дерево поиска, ключи которого – целые числа (положительные и отрицательные). Определить К-е отрицательное число, следующее за ...

Реализация 2-3 дерева - C++
Помогите пожалуйста реализовать 2-3 дерево

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


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

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

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