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

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

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

Реализация бинарного дерева классом - C++

08.10.2013, 22:20. Просмотров 814. Ответов 4
Метки нет (Все метки)

Добрый вечер. Написал класс
C++
1
2
3
4
5
6
7
8
class TreeClass {
    int number;
    TreeClass *left, *right;    
public:
    void AddNode(int, TreeClass);
    void Print(TreeClass,int,char);
    void Del(TreeClass);
} Tree;
Соответственно имеется 3 функции. Все функции приводить не буду, т.к. не в этом суть проблемы. Приведу одну:
C++
1
2
3
4
5
6
7
void TreeClass::Del(TreeClass *&Tree) {
    if (Tree != NULL) {
        Del(Tree->left);
        Del(Tree->right);
        delete Tree;
    } 
}
В main оперирую с этими функциями, то есть отображения, добавление узла и удаление. В самом начале main пишу строку(надо ли вообще это писать?)
C++
1
*Tree=NULL;
Компилятор выдает ошибку
error C2511: 'void TreeClass:el(TreeClass *&)' : overloaded member function not found in 'TreeClass'
Тоже самое и для остальных функций AddNode, Print. Можете пояснить что не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 22:20     Реализация бинарного дерева классом
Посмотрите здесь:

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

Реализация бинарного дерева, используя класс - C++
Доброго времени суток. Ниже пример бинарного дерева, с использованием структуры и двух функций: заполнением и прямым обходом: #include...

Шаблон бинарного дерева - C++
Здравствуйте. Есть одна проблема и не получается её решить, надеюсь вы поможите. Делаю шаблон бинарного дерева. По сути сделал только...

Прошивка бинарного дерева на С++ - C++
Уважаемые программисты! Может у кого то есть опыт по написанию программы по прошивке бинарного дерева на С++ или подскажет по какому...

Заполнение особого бинарного дерева - C++
Собственно класс бинарного дерева я прописал (хоть и криво, не в этом дело). Но метод вставки не подходит к поставленной задачи. А именно:...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
08.10.2013, 22:37     Реализация бинарного дерева классом #2
Неужели не заметно, что сигнатуры функций-членов в объявлении класса и в реализации разные?
А это
C++
1
*Tree=NULL;
отдельный бред.
wondered
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
09.10.2013, 08:12  [ТС]     Реализация бинарного дерева классом #3
Да, и правда, явная ошибка, извиняюсь что туплю. Но теперь другая ошибка
Код
error C2664: 'TreeClass::Del' : cannot convert parameter 1 from 'TreeClass' to 'TreeClass *&'
И так для остальных функций. Значение ошибки я знаю, но тем не менее я не знаю как передать указатель на дерево. Передаю так:
Код
Tree.Del(Tree)
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
09.10.2013, 11:15     Реализация бинарного дерева классом #4
Ну передавайте так:
C++
1
Tree.Del(&Tree);
Вообще у меня ощущение, что Вы не знаете синтаксиса языка. Почитайте учебник какой-нибудь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2013, 20:36     Реализация бинарного дерева классом
Еще ссылки по теме:

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

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

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

Вычисление высоты бинарного дерева - C++
Разработать программу вычисления высоты дерева(бинарного дерева) Очень прошу напишите эту задачу Добавлено через 5 минут ...

Построение бинарного дерева из строки - C++
Доброго времени суток, уважаемые. Хотел бы спросить у вас спросить совета относительно реализации следующей проблемы: Задано...

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


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

Или воспользуйтесь поиском по форуму:
wondered
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
10.10.2013, 20:36  [ТС]     Реализация бинарного дерева классом #5
Плюсы учу 2 недели, так что не знаю я многого, но синтаксис понимаю. Мне не очень понятно практическое применение указателя на указатель и зачем они используются для реализации деревьев. В интернете много уроков по бинарным деревьям, но нигде не рассказывают для чего нужен двойной указатель. И я не совсем понимаю как работать с деревом через класс, точнее как мне работать с указателями дерева в классе.
Yandex
Объявления
10.10.2013, 20:36     Реализация бинарного дерева классом
Ответ Создать тему
Опции темы

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