Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
1

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

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

Author24 — интернет-сервис помощи студентам
Добрый вечер. Написал класс
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. Можете пояснить что не так?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.10.2013, 22:20
Ответы с готовыми решениями:

Реализация бинарного дерева
написать программу, реализующую бинарное дерево. Предусмотреть процедуры и функции: инициализация...

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

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

Реализация бинарного дерева поиска
Задача: Реализация бинарного дерева поиска Компилируется нормально, а при запуске выбивает ошибку...

4
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
08.10.2013, 22:37 2
Неужели не заметно, что сигнатуры функций-членов в объявлении класса и в реализации разные?
А это
C++
1
*Tree=NULL;
отдельный бред.
0
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)
0
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
09.10.2013, 11:15 4
Ну передавайте так:
C++
1
Tree.Del(&Tree);
Вообще у меня ощущение, что Вы не знаете синтаксиса языка. Почитайте учебник какой-нибудь.
0
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
10.10.2013, 20:36  [ТС] 5
Плюсы учу 2 недели, так что не знаю я многого, но синтаксис понимаю. Мне не очень понятно практическое применение указателя на указатель и зачем они используются для реализации деревьев. В интернете много уроков по бинарным деревьям, но нигде не рассказывают для чего нужен двойной указатель. И я не совсем понимаю как работать с деревом через класс, точнее как мне работать с указателями дерева в классе.
0
10.10.2013, 20:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.10.2013, 20:36
Помогаю со студенческими работами здесь

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

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

Реализация обхода в ширину и глубину бинарного дерева
Как реализовать обход дерева (глубины три, т.е. трех уровневое) в глубину и ширину и что под этим...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru