Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 04.06.2015
Сообщений: 2

Сильно ветвящееся дерево

04.06.2015, 23:33. Показов 3222. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, исправить структуру сильно ветвящегося дерева. Методы печати и поиска работают некорректно. А insert вообще не работает. И как сделать удаление узлов?

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#ifndef _TREE_H_
#define _TREE_H_
 
#include <stdlib.h>
#include <iostream>
using namespace std;
struct node
{
int key;
node* parent;
node** children;
int length;
};
 
node* createNode(int n, node* parent)  //создание узла
{
node* newNode = new node();
newNode->key = n;
newNode->parent = parent;
newNode->children = (node**)calloc(2,sizeof(node));//init dynamic array 
newNode->length = 1;
return newNode;
};
 
void testArrayIndex(node* parent, int index)  //выделение памяти для дочерних узлов
{   
    if (parent->length - 1 > index)
{
parent->children = (node**)realloc(parent->children, 2*sizeof(node*));
parent->length = index + 1;
}
//if index not exists then do realloc, Где N новое количество элементов
};
//-------------------------------------------------------------------------------------------------
void showTree(node *tree)  // печать дерева
{
if (tree != NULL)
{
for (int i=0; i<tree->length; i++)
{
cout<<"\n"<<tree->key;
showTree(tree -> children[i]);
}
};
};
//--------------------------------------------------------------------------------
int search(node *tree, int param_sravneniya)  // поиск по дереву
{
if (tree != NULL)
{
for (int i=0; i<tree->length; i++)
{
if (tree->key==param_sravneniya) {return tree->key; break;}
else 
{
cout<<tree->key;
return search(tree -> children[i], param_sravneniya);
}
}
};
};
 
void insert(node *tree, int key)   //вставка элемента
{
    if (tree!=NULL)
    {
        for (int i = 0; i < tree->length; i++)
        {
        if (tree->children[i]==NULL)
        {
        createNode(key, tree);
        testArrayIndex(tree, i);
        }
        }
    }
    };
#endif
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.06.2015, 23:33
Ответы с готовыми решениями:

Ветвящееся меню
Нужно сделать ветвящееся меню, то есть, чтобы было так: 1. Первый пункт -&gt; раскрывается вправо на два следующих и т.д. Пока разобрался...

Очень сильно торможу на математических задачах, даже очень сильно. Какие книги помогут достичь нужного уровня
Читаю Кнута ,,Искуство программирования'' но очень сильно торможу на математических задачах,даже очень сильно.Какие книги помогут достичь...

Я очень сильно запустил свой ПК,посоветуйте что нибудь т.к. очень сильно тормозит
Сильно запустил свой ПК,при включении приходится ждать около часа чтобы не лагал так сильно,при переустановке Windows лагает также

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2015, 23:33
Помогаю со студенческими работами здесь

Сформировать дерево Т и определить число вхождений параметра Е в дерево Т - Блок схема
Сформировать дерево Т и определить число вхождений параметра Е в дерево Т. Вот решение задачи, народ, помогите, кто может, составить...

Бинарное дерево: как происходит добавления элемента в дерево с двумя параметрами
Здравствуйте! Прошу помощи у опытных программистов...)))) Есть класс дерево: class class1 { public class Tree ...

Методы индексирования на основе функции расстояния. Универсальное деление гиперплоскостями. Дерево биссектрис и МВ-дерево
Доброго времени суток. В поисках информации для курсовика жизнь занесла сюда :) Поделитесь информацией, литературой :) Тема:...

Как залезть в расчетное дерево (дерево зависимостей формул)?
Есть собственная формула, параметры которой заставляют для ее расчетов лезть на другие листы и в другие ячейки (причем какие конкретно...

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru