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

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

Войти
Регистрация
Восстановить пароль
 
МарияБелая
2 / 2 / 0
Регистрация: 13.03.2014
Сообщений: 79
#1

Функция подсчета четных элементов бинарного дерева - C++

10.07.2015, 09:43. Просмотров 495. Ответов 1
Метки нет (Все метки)

Требуется написать функцию подсчета количества четных узлов бинарного дерева
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2015, 09:43     Функция подсчета четных элементов бинарного дерева
Посмотрите здесь:
C++ Функция удаления всех четных элементов AVL-дерева
C++ Дополнить класс, включив метод подсчета числа узлов заданного бинарного дерева
Функция вывода листьев бинарного дерева C++
C++ Функция удаления листа (или ветки) бинарного дерева
Распределение элементов вектора внизу бинарного дерева C++
C++ Удаление элементов из бинарного дерева (не дерево поиска)
C++ Вычислить среднее арифметическое положительных элементов бинарного дерева
Метод адресирования элементов бинарного дерева. Что значит? C++
C++ Вычислить среднее арифметическое положительных элементов бинарного дерева
C++ "Рекурсивная функция" (Обход бинарного дерева)
C++ Построение бинарного дерева на основе не бинарного
Не работает функция подсчета элементов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Max Dark
шКодер самоучка
1813 / 1614 / 588
Регистрация: 09.10.2013
Сообщений: 3,618
Записей в блоге: 6
Завершенные тесты: 2
10.07.2015, 10:02     Функция подсчета четных элементов бинарного дерева #2
самое простое - рекурсивный обход
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
strucn node {
    int value;
    node* left, *right;
    node(int v, node* l, *r):value(v), left(l), right(r) {}
};
//...
template<class Functor>
size_t tree_count_if(const node* root, Functor f) {
    return root == NULL ? 0 :
        + (f(root->value) ? 1 : 0)
        + tree_count_if(root->left,  f)
        + tree_count_if(root->right, f);
}
node* tree;
//...
auto c = tree_count_if(tree, [](int v){ return 0 == (v % 2); })
Ответ Создать тему
Опции темы

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