Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
dark2494
1 / 1 / 0
Регистрация: 16.09.2011
Сообщений: 29
#1

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

22.12.2012, 22:00. Просмотров 416. Ответов 0
Метки нет (Все метки)

Мне необходимо создать дерево соответствующее определенной конструкции (Например: ПК(корень) и он состоит из принтера, системного блока, мыши и т.д. Системный блок стоит....). В листьях хранится минимальный вес.
Задаю класс для хранения дерева

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 минуты
как рекурсивно обойти дерево в глубину?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2012, 22:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дерево с большим количество потомков (C++):

Определение элемента дерева который имеет наименьшее количество непосредственных потомков - C++
Определение элемента дерева который имеет наименьшее количество непосредственных потомков. Каждый элемент дерева содержит ссылку на...

Сформировать бинарное дерево, посчитать количество листьев - C++
помогите написать программу,можно и с использованием классов. сформировать бинарное дерево элементами которого являются целые...

Сравнение потомков - C++
Как перезагрузить операцию сравнения (==) , для того, чтобы можно было сравнивать потомков в массиве указателей? Добавлено через 39...

Полиморфизм и доступ к полям потомков - C++
Задача: накидать в окне прямоугольники и круги, а потом упаковать их максимально плотно. Делаем в Qt. Структура классов такая: есть базовый...

Построение сильноветвящегося дерева потомков человека - C++
Всех приветствую. Сам текст задания: Нужно построить дерево потомков человека. Дерево является сильноветвящимся. Каждый узел содержит...

Вызвать из базового класса методы потомков - C++
Я не уверен как сделать, но нужно с базового вызвать все другие функции у наследников. class CMain { public: virtual void...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2012, 22:00
Привет! Вот еще темы с ответами:

Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой - C++
Дано бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой.

Структура дерева с одним предком и множеством потомков - C++
Здравствуйте! Можете подсказать из каких полей состоит такая структура, у которой должен быть один предшественники множество потомков.

Дано дерево. Распечатать дерево по уровням - C++
Дано дерево. Распечатать дерево по уровням.

Принимать в качестве аргумента шаблона только потомков определенного класса - C++
Доброго времени суток. Возможно ли каким-либо образом создать шаблонный класс, который в качестве аргумента шаблона будет принимать только...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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