0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 9
1

Шаблоны классов. Обработка исключительных ситуаций

04.12.2012, 00:20. Показов 673. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
создать шаблон некоторого целевого класса А, возможно, реализован с применением некоторого серверного класса В. Это означает, что объект класса используется как элемент класса А. В качестве серверного класса может быть указан или класс, созданный программистом или класс из стандартной библиотеки - BinaryTree
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
struct node
{
  int key_value;
  node *left;
  node *right;
};
 
class btree
{
    public:
        btree();
        ~btree();
 
        void insert(int key);
        node *search(int key);
        void destroy_tree();
 
    private:
        void destroy_tree(node *leaf);
        void insert(int key, node *leaf);
        node *search(int key, node *leaf);
        
        node *root;
};
 
btree::btree()
{
  root=NULL;
}
 
btree::~btree()
{
  destroy_tree();
}
 
void btree::destroy_tree(node *leaf)
{
  if(leaf!=NULL)
  {
    destroy_tree(leaf->left);
    destroy_tree(leaf->right);
    delete leaf;
  }
}
 
void btree::insert(int key, node *leaf)
{
  if(key< leaf->key_value)
  {
    if(leaf->left!=NULL)
     insert(key, leaf->left);
    else
    {
      leaf->left=new node;
      leaf->left->key_value=key;
      leaf->left->left=NULL;    //Sets the left child of the child node to null
      leaf->left->right=NULL;   //Sets the right child of the child node to null
    }  
  }
  else if(key>=leaf->key_value)
  {
    if(leaf->right!=NULL)
      insert(key, leaf->right);
    else
    {
      leaf->right=new node;
      leaf->right->key_value=key;
      leaf->right->left=NULL;  //Sets the left child of the child node to null
      leaf->right->right=NULL; //Sets the right child of the child node to null
    }
  }
}
 
node *btree::search(int key, node *leaf)
{
  if(leaf!=NULL)
  {
    if(key==leaf->key_value)
      return leaf;
    if(key<leaf->key_value)
      return search(key, leaf->left);
    else
      return search(key, leaf->right);
  }
  else return NULL;
}
 
void btree::insert(int key)
{
  if(root!=NULL)
    insert(key, root);
  else
  {
    root=new node;
    root->key_value=key;
    root->left=NULL;
    root->right=NULL;
  }
}
 
node *btree::search(int key)
{
  return search(key, root);
}
 
void btree::destroy_tree()
{
  destroy_tree(root);
}
void main()
{
    btree tree;
 
    tree.insert(10);
    tree.insert(5);
    tree.insert(20);
    tree.insert(30);
    tree.insert(40);
    tree.insert(50);
    tree.insert(60);
    tree.search(40); // return pointer to node that has value like a 40
    system("@pause");
}
нужно типа менюшку для отображения етого дерева на екране
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2012, 00:20
Ответы с готовыми решениями:

Обработка исключительных ситуаций!
Составьте программу на языке С++. Обрабатывающую исключительную ситуацию, которая может возникнуть...

Обработка исключительных ситуаций
Правильно ли тут я обрабатываю исключения? #pragma once #include &lt;iostream&gt; #include &quot;stdio.h&quot;...

Обработка исключительных ситуаций
Нужна одна работающая программа из 2. 1) Наберите текст программы приведенного примера обработки...

Обработка исключительных ситуаций
Мне нужно было создать шаблонный класс и написать обработку исключающих ситуаций. Вот, что я сделал...

0
04.12.2012, 00:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2012, 00:20
Помогаю со студенческими работами здесь

Обработка исключительных ситуаций.
Пожалуйста,помогите решить..В субботу экзамен,а я физически не успеваю написать 6 программок..( ...

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

Обработка исключительных ситуаций
Помогите сделать обработку исключительных ситуаций вот мой код: #include &lt;iterator&gt; #include...

Обработка исключительных ситуаций
Код программы,Что та не робит помогите #include &quot;stdafx.h&quot; #include &lt;iostream&gt;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru