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

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

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2017, 18:20   #1
Remeike
Новичок
Джуниор
 
Регистрация: 11.05.2017
Сообщений: 0
По умолчанию Класс бинарное дерево delphi

Задание:реализовать класс бинарное дерево используя динамическую память. Есть реализация класса в c++:
Файл derevo.h
Код:
#pragma once
 
struct node
{
    int info;
    node *l, *r;//Левая и Правая часть дерева
};
 
 
class Derevo
{   
private:
    int info;
    node *t, *l, *r;
public:
    node * tree;
    Derevo();
    ~Derevo(void);
    void clear(node* t);
    void push(int a, node **t);
    void print (node *t,int u) ;
};
Файл derevo.cpp:
#include "StdAfx.h"
#include <iostream>
#include "derevo.h"
 
using namespace std;
 
Derevo::Derevo()
{   
    tree=NULL;
    t=NULL;
    return; 
 
}
 
Derevo::~Derevo(void)
{
    if (tree!=NULL) {
        clear(tree);
    }
}
 
void Derevo::clear(node* t) 
{
    if (t!=NULL) {
        clear(t->l);
        clear(t->r);
        free(t) ;
        t=NULL;
    }
    tree=NULL;
}
 
 
void Derevo::push(int a,node **t)
{
 
    if ((*t)==NULL) //Если дерева нет
    {
        (*t)=new node; //Выделяем память
        (*t)->info=a; //Кладем в выделенное место аргумент a
        (*t)->l=(*t)->r=NULL; //Очищаем память для следующего роста
        return; 
    }
    //Дерево есть
    if (a>(*t)->info) push(a,&(*t)->r); // аргумент больше
    else push(a,&(*t)->l); //Иначе кладем его влево
}
 
/*ФУНКЦИЯ ОТОБРАЖЕНИЯ ДЕРЕВА НА ЭКРАНЕ*/
void Derevo::print (node *t,int u) 
{
    if (t==NULL) return; //Если дерево пустое, то отображать нечего, выходим
    else //Иначе
    {
        print(t->l,++u);//С помощью рекурсивного посещаем левое поддерево
        for (int i=0;i<u;++i) cout<<"|";
        cout<<t->info<<endl; //И показываем элемент
        u--;
    }
    print(t->r,++u); //С помощью рекурсии посещаем правое поддерево
}
Файл binaryderevo.cpp:
// binaryderevo.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
# include <conio.h>
#include "Derevo.h"
using namespace std;
 
 
 
void main ()
{  
    setlocale(LC_ALL, "Russian");
    Derevo Derevoone=Derevo();
    //Derevoone Derevo;
    int n; //Количество элементов
    int s; //Число, передаваемое в дерево
    cout << "введите количество элементов  ";
    cin >> n; //Вводим количество элементов
 
    for (int i=0;i<n;++i)
    {
        cout << "ведите число  ";
        cin >> s; //Считываем элемент за элементом
        Derevoone.push(s,&Derevoone.tree); //И каждый кладем в дерево
    }
    cout << "ваше дерево\n";
    Derevoone.print(Derevoone.tree,0);
    system("pause");       
}


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 11.12.2017 в 19:11.
Remeike вне форума Ответить с цитированием
Старый 13.12.2017, 07:54   #2
Gilius
Новичок
Джуниор
 
Регистрация: 06.05.2016
Сообщений: 1
По умолчанию

Если актуально, обращайтесь giliussoft@yandex.ru
Gilius вне форума Ответить с цитированием
Старый 14.12.2017, 12:34   #3
JIeIIIa
Пользователь
 
Регистрация: 21.12.2011
Сообщений: 54
По умолчанию

Если еще актуально, пишите: stealth(собака)bigmir.net
Сразу указывайте на когда нужна работа и предполагаемый бюджет.
JIeIIIa вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] Бинарное дерево Aeroshka Фриланс 4 20.12.2015 11:54
Класс - Бинарное дерево. (С++) Артём Волжанкин Помощь студентам 3 30.07.2012 21:55
Delphi бинарное дерево D][mon Помощь студентам 1 25.05.2011 00:06
Разработать шаблонный класс бинарное дерево nezloi Помощь студентам 1 11.06.2010 15:19
Бинарное дерево (BTree) DELPHI 08ekhiv1 Помощь студентам 1 24.05.2009 10:31