Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Mari_ly
3 / 3 / 3
Регистрация: 13.02.2016
Сообщений: 158
#1

Реализовать функции. Бинарные деревья - C++

01.07.2016, 00:42. Просмотров 99. Ответов 0
Метки нет (Все метки)

Реализовать функции:
удаление узла
поиск элемента
возврат самой длинной ветви(распечатка ее элементов)

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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include<iostream>
using namespace std;
 
 
struct binariTreea{
    int data;
    binariTreea* leftTrea;
    binariTreea* rightTreea;
 
};
 
 
int tabs = 0;
 
//Функции 
void insNode(binariTreea*&, int);
void printTreea(binariTreea*);
void printList(binariTreea*);    
void countNode(binariTreea*, int&); 
int countBranches(binariTreea*); 
 
 
 
void maxBranch(binariTreea*, int, int&, int&);      
bool search(binariTreea*, int, binariTreea*&);     листа 
binariTreea* get_max_branch(binariTreea*);
 
 
void print(binariTreea*);
 
 
 
 
void main(){
    binariTreea *tree = nullptr;
    int val;
    cout << "Value added to the tree:";
    for (int i = 0; i < 10; i++){
        val = rand()% 100 ;
        insNode(tree, val);
        cout << val << " ";
    }
    cout << endl;
    cout << "Print tree:" << endl;
    printTreea(tree);
 
    cout << "\nPrint list:" << endl;
    printList(tree);
 
    int kol_nodes;
    countNode(tree, kol_nodes);
    cout << "count nodes=" << kol_nodes << endl;
    cout << "count branches=" << countBranches(tree)<< endl;
 
    print(tree);
}
 
void insNode(binariTreea*& ptr, int val){
 
    if (ptr == nullptr){
        ptr = new binariTreea;
        ptr->data = val;
        ptr->leftTrea = nullptr;
        ptr->rightTreea = nullptr;
        return;
    }
    
    else if (ptr->data > val){
        insNode(ptr->leftTrea, val);
    }
    else if (ptr->data < val){
        insNode(ptr->rightTreea, val);
    }
}
 
void printTreea(binariTreea*ptr){
    if (ptr != nullptr){
        printTreea(ptr->leftTrea);
        cout << ptr->data << " ";
        printTreea(ptr->rightTreea);
    }
}
 
void printList(binariTreea*ptr){
    if (ptr != nullptr){
        printList(ptr->leftTrea);
        if (ptr->leftTrea == nullptr &&ptr->rightTreea == nullptr){
            cout << ptr->data << " ";
        }
        printList(ptr->rightTreea);
    }
 
}
 
 
void countNode(binariTreea* ptr, int& kol){
 
    if (ptr != nullptr){
        countNode(ptr->leftTrea, kol);
        kol++;
        countNode(ptr->rightTreea, kol);
 
    }
}
 
int countBranches(binariTreea* ptr){
    int kol = 0;
    countNode(ptr, kol);
    return kol - 1;
 
 
}
 
void print(binariTreea* ptr){
    if (!ptr)return;
    tabs++;
    print(ptr->leftTrea);
    for (int i = 0; i < tabs; i++)
        cout << " ";
 
    cout << ptr->data << endl;
    print(ptr->rightTreea);
    tabs--;
    return; 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2016, 00:42
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Реализовать функции. Бинарные деревья (C++):

бинарные деревья
Вот у меня есть программа, которая создает бинарное дерево из массива целых...

Бинарные деревья
Доброго времени суток, нужна помощь, дали задание...Вершина бинарного дерева...

бинарные деревья
Здравствуйте! Помогите пожалуйста доделать задачу на бинарные деревья. Язык...

Бинарные деревья
1)Написать программу подсчета числа вершин в бинарном дереве 2)Написать...

Бинарные деревья
Ребят, кто может помочь с написанием алгоритма программы? Сам код есть

Бинарные деревья
Разработать набор классов упорядоченных бинарных деревьев поиска типов:...

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

Бинарные деревья
Здравствуйте! Подскажите, правильно ли написано правое удаление вершины дерева?...

Бинарные деревья
Подсчитать количество элементов на n-уровне бинарного дерева. Подскажите как...

Бинарные деревья
Компилятор выдаёт ошибки в 9, 10 и 12, 13 строках: invalid conversion from...

Бинарные деревья С++
Добрый день! Дали такое задание на лабораторную работу. кое-что получилось,...


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

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

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