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

Итератор бинарного дерева - C++

Восстановить пароль Регистрация
 
sashadereh
3 / 3 / 1
Регистрация: 30.09.2012
Сообщений: 63
03.11.2013, 22:44     Итератор бинарного дерева #1
Здравствуйте всем!
Передо мной стояла задача написать класс, представляющий бинарное дерево, использующий другой класс для представления узла. Но при написании функции поиска элемента в дереве столкнулся с проблемой - она должна возвращать толькоитератор. Про итераторы почитал - со списком вроде как разобрался, а с деревом хороших примеров не нашел. Не могли бы вы помочь с реализацией итератора?

Собственно вот само дерево:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*Tree.h*/
template <typename T>
class Tree
{
public:
    Tree():root(nullptr) {}
    ~Tree() {}
    void addELement(const T &);
    void printTree() const;
private:
    void addElementRealization(TreeNode< T > **, const T &);
    void printTreeRealization(TreeNode< T > *, int) const;
    TreeNode<T> *root;
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*TreeNode.h*/
template< typename T >
class TreeNode
{
    friend class Tree< T >;
public:
    explicit TreeNode(const T &data)
        :left(nullptr),
        right(nullptr),
        key(data) {}
    ~TreeNode() {}
    T getData() const
    {
        return key;
    }
private:
    TreeNode< T > *left, *right;
    T key;
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2013, 22:44     Итератор бинарного дерева
Посмотрите здесь:

Построение бинарного дерева C++
C++ Шаблон бинарного дерева
C++ Построение бинарного дерева на основе не бинарного
C++ Итератор для бинарного дерева поиска.
C++ Вывод бинарного дерева
Итератор для бинарного дерева C++
C++ Вывод бинарного дерева на экран в виде "дерева"
C++ Итератор дерева бинарного поиска

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru