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

Дописать программу (Дерево. Дописать функцию - bst_remove_all - удалить все - child(left, right)) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ const double * http://www.cyberforum.ru/cpp-beginners/thread838079.html
Доброго всем времени суток. Подскажите, в записи double my_func(const double *A); Константным будет указатель или массив?
C++ Picture Control jpg из файла Собственно, как отобразить в Picture Control JPG из файла, который лежить в папке с программой? Picture Control привязан к переменной. Сразу скажу, я в программировании не силен. Поделитесь пожалуйста готовым кодом, желательно попроще. http://www.cyberforum.ru/cpp-beginners/thread838067.html
Как убрать из одномерного массива нули, и всё последующие за нулями цифры сдвинуть? C++
Как убрать из одномерного массива нули, и всё последующие за нулями цифры сдвинуть? Вот к примеру вышел массив: m={3,3,2,1,0,5,3,0,0,4,0...} Хочу сдвинуть m={3,3,2,1,5,3,4...} Подскажите, как это можно сделать.
Надо создать массив путем слияния двух произвольных одномерных массивов C++
Нужно сделать массив, в котором елементы будут расположены следующим образом: m3={m1,m2,m1,m2,m1,m2 и т. д.} Нужно учитывать, что количество елементов произвольных массивов может быть разное, в том числе какой то из массивов может не иметь елементов вобще. Помогите с алгоритмом, пожалуйста.
C++ работа со строками. Перевернуть, заданную пользователем строку, в отдельной функции http://www.cyberforum.ru/cpp-beginners/thread838037.html
задание- перевернуть, заданную пользователем строку, в отдельной функции; написал вот такой код, переворачиваю-> копирую->вывожу //ex7_1.cpp //переворачивает строку #include <iostream> #include <string> #include <conio.h> using namespace std;
C++ что не так с конструктором с параметрами создаю экземпляры класса , один через конструктор с параметрами но указываю параметрами он мне пишет ошибка что преобразования типов не допустимо , как мне исправит свою ошибку Объявления класса #pragma once #include <iostream> #include <fstream> #include <stdio.h> #include <time.h> using namespace std; //класс матрица class Tabel подробнее

Показать сообщение отдельно
cats2013
1 / 1 / 0
Регистрация: 14.04.2013
Сообщений: 17
15.04.2013, 00:49     Дописать программу (Дерево. Дописать функцию - bst_remove_all - удалить все - child(left, right))
У меня двоичное дерево поиска и нужно дописать функцию - bst_remove_all - удалить все - child(left, right) с использованием рекурсивной функции.

C++
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
  template <class Item>
    typename bag<Item>::size_type bst_remove_all
    (binary_tree_node<Item>*& root_ptr, const Item& target)
    // Предусловие: root_ptr - root указатель двоичного дерева поиска
    // или это может быть NULL для пустого дерева).
    // Постусловие: все копии target удаляются из дерева поиска
    // и root_ptr теперь указывает в root (корень)  нового более меньшего дерева поиска. 
    //  return значение указывает сколько копий  target было удалено.
    {
        
            /* 
           все копии target  должны быть удалены
 
        */
        
        binary_tree_node<Item> *oldroot_ptr;
        
        if (root_ptr == NULL)
        {   
              // пустое дерево
 
           
        }
 
        if (target < root_ptr->data( ))
        {  
 
 
                    //Продолжается поиск в левом поддереве 
 
           
        }
 
        if (target > root_ptr->data( ))
        {   
 
                    //Продолжается поиск в правом поддереве 
        }
        
        if (root_ptr->left( ) == NULL)
        {   
               // Target был найден не в левом поддереве, таким образом мы можем удалить этот узел делая правого child
              //      новым корнем - root.
        oldroot_ptr = root_ptr;
        root_ptr = root_ptr->right( );
        delete oldroot_ptr;
        return 1;
        }
 
 
        
        // Если код находит этот  point, тогда мы должны удалить target из настоящего узла.
        //  Мы должны переместить  target с maximum item в левом поддереве. 
        // Продолжается поиск других копий  target для удаления.
        // Этот поиск должен начинаться с настоящего корня - root (с тех пор maximum елементб который был удален
           //    из левого поддерева.
        //  это так же должно быть копией  target).
        
 
    }
Помогите, пожалуйста, дописать программу.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru