Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2010, 23:54   #1
m9yt
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 108
По умолчанию Запись в массив данных бинарного дерева

В общем, есть идеально сбалансированное бинарное дерево с элементами типа char.
Мне нужно перестроить это дерево в дерево поиска.
Училка советовала вначале записать элементы в массив, но у меня туда записывается постоянно символ м.
Подскажите, как реализовать запись элементов в массив, ну и заодно как потом преобразовать старое дерево в дерево поиска?
m9yt вне форума Ответить с цитированием
Старый 14.03.2010, 00:02   #2
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Код показывай
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 14.03.2010, 12:49   #3
m9yt
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 108
По умолчанию

Цитата:
Сообщение от Ozerich Посмотреть сообщение
Код показывай
Код:
#include <iostream>
#include<windows.h>
using namespace std;

struct point
{
int data;//информационное поле
point *left;//адрес левого поддерева
point *right;//адрес правого поддерева
};

point* Tree(int n, point *p)
{
point *r;
int nl,nr;
if(n==0){p=NULL;return p;}
nl=n/2;
nr=n-nl-1;
r=new point;
cout<<"элемент:";
cin>>r->data;
r->left=Tree(nr, r->left);
r->right=Tree(nl, r->right);
p=r;
return p;
}

void Print(point*p, int l) 
{
if(p)
{
Print(p->left,l+5);
for(int i=0;i<l;i++)
cout<<" ";
cout<<p->data<<"\n";
Print(p->right,l+5);
}
}

void main()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
int n;
cout<<"Задайте количество элементов дерева\n";
cin>>n;
point *root;
root=new point;
root=Tree(n, root);
Print(root,1);
}
m9yt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Высота бинарного дерева dido171 Помощь студентам 4 02.12.2014 13:30
Высота бинарного дерева m9yt Общие вопросы C/C++ 5 13.03.2010 22:17
Создания бинарного дерева С++ Olya90 Помощь студентам 0 10.06.2009 18:58
Составление бинарного дерева [MI_nor] Общие вопросы C/C++ 1 08.05.2009 00:28
создание бинарного дерева zetrix Паскаль, Turbo Pascal, PascalABC.NET 2 30.11.2006 19:32