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

Проверка существования структуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить сумму ряда http://www.cyberforum.ru/cpp-beginners/thread409992.html
.Вычислить сумму ряда \sum_{k=o }^{\propto }\left(-1{k}^{} \right)\frac{x{}^{2k}}{(2k)!} с точностью до 10 в -5 степени.Построить таблицу для х=0;0.1;0.2....0.9;1;0.Проверить значения по функции...
C++ Поразрядная сортировка Доброе время суток, написал программу поразрядной сортировки по определенному критерию должно сортировать, проблем в логике вроде бы не должно быть, но вот проблема в функции yy в том что не хватает... http://www.cyberforum.ru/cpp-beginners/thread409979.html
C++ сумма диагоналей???
Вот в чем вопрос! Вроде все правильно, но сумму неправильно вычисляет, а именно нужно: Найти максимальную, из всех сумм диагоналей, параллельных главной! #include <iostream> #include <iomanip>...
C++ Разработать алгоритм обработки двумерного массива
Разработать алгоритм обработки двумерного массива размера n*m. Числа m и n, а также элементы массива взять из файла. Необходимо каждый элемент массива увеличить на сумму элементов его строки....
C++ Абстрактны классы http://www.cyberforum.ru/cpp-beginners/thread409940.html
Здравствуйте, форумчане! у меня вот такая вот задача! Разработать класс список как абстрактный базовый класс с интерфейсом - сохранить и восстановить. Создать производные классы стек и очередь с...
C++ Упорядочить строки матрицы в порядке неубывания их первых элементов Всем привет! Помогите пожалуйста решить задачу, хз как делать :) Дана матpица A. Упорядочить строки матрицы в порядке не убывания их первых элементов. Всё чnо я смог, это вывести исходную матрицу... подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт С++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
18.12.2011, 00:45
awpe, Вы не совсем понимаете как строятся деревья. На википедии есть неплохие статьи по двоичным деревьям. Вот пример дерева поиска с функцией вставки и обхода, реализованных посредством рекурсии:
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
#include <stdlib.h>
#include <stdio.h>
 
typedef struct tree {
    int data;
    struct tree* left;
    struct tree* right;
} tree_t;
 
tree_t* create(int data) {
  tree_t* result = (tree_t*)malloc(sizeof(tree_t));
 
  result->data = data;
  result->left = NULL;
  result->right = NULL;
 
  return result;
}
 
void destroy(tree_t* tree) {
  if (tree == NULL)
    return;
 
  destroy(tree->left);
  destroy(tree->right);
  free(tree);
}
 
tree_t* insert(tree_t* tree, int data) {
  if (tree == NULL)
    return create(data);
 
  if (tree->data < data)
    tree->left = insert(tree->left, data);
  else if (tree->data > data)
    tree->right = insert(tree->right, data);
  
  return tree;
}
 
void traverse(tree_t* tree, void (*function)(int)) {
  if (tree == NULL)
    return;
 
  traverse(tree->left, function);
  function(tree->data);
  traverse(tree->right, function);
}
 
void print(int number) {
  printf("%d\n", number);
}
 
int main() {
  tree_t* tree = create(5);
 
  insert(tree, 4);
  insert(tree, 6);
  insert(tree, 3);
  insert(tree, 7);
  insert(tree, 2);
  insert(tree, 8);
  insert(tree, 1);
  insert(tree, 9);
  insert(tree, 0);
  insert(tree, 10);
 
  traverse(tree, print);
 
  destroy(tree);
 
  return 0;
}
Результат: http://liveworkspace.org/code/7cb333f3d897098366ac11831d1145a9
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru