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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчитать количество слов содержащие две согласные буквы http://www.cyberforum.ru/cpp-beginners/thread996659.html
Помогите в написании кода: Подсчитать количество слов в тексте, содержащие две согласные буквы.
C++ Не получается считать строку с gets Имеется (казалось бы доведенная до ума более или менее) программа: #include "stdio.h" #include "conio.h" #include "math.h" #include "string.h" #include "stdafx.h" #include <iostream> http://www.cyberforum.ru/cpp-beginners/thread996655.html
C++ Программа должна сформировать вектор, элементами которого являются наибольшие элементы всех матриц
Решить задачу, используя функцию. Дана квадратная целочисленная матрица А порядка n. Выделяя на главной диагонали последовательно по одному элементу Aii, можно получить n матриц, ограниченных...
Классы точка, круг, элипс C++
Добрый вечер) начну с задания: Создать класс точка, имеющая координаты. Класс эллипсов, и класс кругов. Определить иерархию типов. Определить функции печати, конструкторы, деструкторы, вычисление...
C++ Круги в окружности http://www.cyberforum.ru/cpp-beginners/thread996649.html
Описать переменную круг, в которой содержатся все данные для построения круга в декартовой системе координат. а) Определить координаты центра, радиус, площадь и длину окружности круга минимального...
C++ Использование указателя на функцию void treug (float a, float b, float c, int*p) { p=0; if ((a+b>c) || (b+c>a) || (c+a>b)) { p=1; printf ("Treug. sush."); return p; } подробнее

Показать сообщение отдельно
sashadereh
3 / 3 / 1
Регистрация: 30.09.2012
Сообщений: 63

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

03.11.2013, 22:44. Просмотров 365. Ответов 0
Метки (Все метки)

Здравствуйте всем!
Передо мной стояла задача написать класс, представляющий бинарное дерево, использующий другой класс для представления узла. Но при написании функции поиска элемента в дереве столкнулся с проблемой - она должна возвращать толькоитератор. Про итераторы почитал - со списком вроде как разобрался, а с деревом хороших примеров не нашел. Не могли бы вы помочь с реализацией итератора?

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

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;
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru