Есть бинарное дерево.
struct Collatz {
int key;
unsigned int value;
};
struct Node //Звено дерева
{
Collatz x; //То, что записываем в дерево
Node *l, *r; //Это указатели на новые звенья
};
Бинарное дерево заполняется случайными значениями, где value - случайной значение, а key - индекс во время добавления:
for (int i = 0; i < 60000; ++i) {
my[i].value = rand() % 100000 + 1000000;
my[i].key = i;
add_node(my[i], Tree);
}
После окончания работы с бинарным деревом его нужно вывести в том порядке, в котором значения вводились.
Как это можно реализовать?
Если ваше значение - порядковый номер ввода в дерева, то никаких проблем нет, если, конечно, оно реализовано верно. Для этого потребуется рекурсия
print(node *i) {
if (i->left)
print(i->left);
cout << i;
if (i->right)
print(i->right);
}
Как-то так.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей