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

Написать структуру данных — сбалансированное дерево AVL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разработать рекурсивную функцию, не возвращающую значение http://www.cyberforum.ru/cpp-beginners/thread1126952.html
Дано натуральное четное число п. Разработать рекурсивную функцию для вывода на экран следующей картинки: * * (п пробелов между звездочками) ** ** (п-2 пробела) *** *** (п-4 пробела) .................. ***** ***** (2 пробела) ********** (0...
C++ Разложение элементов массива Суть задания: 1)я должен ввести любых два массива; 2) сравнить елементы двух массивов;(если итый елемент массива больше чем итий элемент второго массива то тогда первый массив больше второго) 3)елементы которые больше я должен разложить;(разложение делать в большем массиве) ПРИМЕР дан массив А(11 10 4 5 )и B(7 4 3 1)получается что 11 больше... http://www.cyberforum.ru/cpp-beginners/thread1126942.html
Копирование с использованием BitBlt C++
HDC Memhdc, SecondMemhdc; HBITMAP picture;
Перегрузка функции под класс, содержащий в себе полином C++
Прошу помощи с перегрузкой функции под класс, содержащий в себе полином. Перегрузил некоторые операторы вот так: class polinom{
C++ Операции с комплексными числами. Проконсультируйте. (аргумент, модуль, сложение, умножение, вычитание) http://www.cyberforum.ru/cpp-beginners/thread1126920.html
здравствуйте. Эта программа рабочая, работает для аргумента, сложения, вычитания, умножения, модуля комплексных чисел. Проверьте её пожалуйста. Что надо добавить / убрать... Меня затруднило { complex a(7.0,6.0),b(2.0,4.0),c; c=a*b; c.print(); } что здесь можно добавить, связанное с модулем и аргументом, подскажите.
C++ Вывести номер последнего числа в наборе, от меньшего К Дано целое число K и набор ненулевых целых чисел, признак его завершения — число 0. Вывести номер последнего числа в наборе, от меньшего К. Если таких... <Предложение не завершено> нужна блок-схема, что-то не пойму как сделать(( подробнее

Показать сообщение отдельно
Dimon1994
Сообщений: n/a

Написать структуру данных — сбалансированное дерево AVL - C++

22.03.2014, 22:09. Просмотров 179. Ответов 0
Метки (Все метки)

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

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
 
node <T> * removeMin(node <T> * r) {
    if (r->left == nullptr)
        return r->right;
    r->left = removeMin(r->left);
    return balance(r);
}
 
template <typename T>
inline node <T> * AVL_tree <T> :: remove(node <T> * r, const T & k) {
    if (r == nullptr)
        return nullptr;
    if (k < r->data)
        r->left = remove(r->left, k);
    else if (k > r->data) 
            r->right = remove(r->right, k);
    else {
        node <T> * lf = r->left;
        node <T> * ri = r->right;
        delete r;
        if (ri == nullptr)
            return lf;
        node <T> * min = findMin(ri);
        min->right = removeMin(ri);
        min->left = lf;
        return balance(min);
    }
    return balance(root);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru