Форум программистов, компьютерный форум 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 матриц, ограниченных элементами A11 и Аii. Программа должна сформировать вектор, элементами которого являются наибольшие элементы всех таких матриц. Функция должна возвращать значение наибольшего элемента в матрице...
Классы точка, круг, элипс C++
Добрый вечер) начну с задания: Создать класс точка, имеющая координаты. Класс эллипсов, и класс кругов. Определить иерархию типов. Определить функции печати, конструкторы, деструкторы, вычисление площади. Вот что вышло у меня. #include <iostream> using namespace std; class Point{ public:
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. Просмотров 358. Ответов 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;
};
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru