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

Дерево с большим количество потомков - C++

Восстановить пароль Регистрация
 
dark2494
1 / 1 / 0
Регистрация: 16.09.2011
Сообщений: 29
22.12.2012, 22:00     Дерево с большим количество потомков #1
Мне необходимо создать дерево соответствующее определенной конструкции (Например: ПК(корень) и он состоит из принтера, системного блока, мыши и т.д. Системный блок стоит....). В листьях хранится минимальный вес.
Задаю класс для хранения дерева

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define N 50;
#define number_sons 7; 
class Class
{
    int size;
public:
    struct item{
        item *next[number_sons]; //массив указателей на 7 сыновей
        char name[N];
        int x;  // вес
        item *parent;
    };
    item* root;
    Class(void);
    ~Class(void);
    void Add(const char tittle[], const char parent[], int data);
};
Помогите оформить функцию добавления нового узла. На входе название эл-та(tittle), имя отца (parent) и вес (если не лист = 0)

C++
1
2
Class tree;
    tree.Add("Monitor","PC",0);// Добавление нового узла (0 -т.к. не лист)
И конструкцию выбираю я сам

Добавлено через 14 часов 45 минут
я предполагаю, что дерево необходимо пройти в глубину и сравнить имя узла с parent, если совпадает записать в свободный указатель. Но написать это не получается.
P.S. с названием темы я поторопился

Добавлено через 7 часов 4 минуты
как рекурсивно обойти дерево в глубину?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2012, 22:00     Дерево с большим количество потомков
Посмотрите здесь:

C++ Определение элемента дерева который имеет наименьшее количество непосредственных потомков
Сформировать бинарное дерево, посчитать количество листьев C++
Сравнение потомков C++
количество вершин дерево C++
Принимать в качестве аргумента шаблона только потомков определенного класса C++
C++ Вызвать из базового класса методы потомков
Построение сильноветвящегося дерева потомков человека C++
Полиморфизм и доступ к полям потомков C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru