Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- struct tnode
- {
- int field; // поле данных
- struct tnode *left; // левый потомок
- struct tnode *right; // правый потомок
- };
- // Функция добавления узла к дереву
- struct tnode* addnode(int x, tnode *tree)
- {
- if (tree == NULL)
- { // Если дерева нет, то формируем корень
- tree = new tnode; // память под узел
- tree->field = x; // поле данных
- tree->left = NULL;
- tree->right = NULL; // ветви инициализируем пустотой
- }
- else if (x < tree->field) // условие добавление левого потомка
- tree->left = addnode(x, tree->left);
- else // условие добавление правого потомка
- tree->right = addnode(x,tree->right);
- return(tree);
- }
- // Функция вывода дерева
- void treeprint(struct tnode *p)
- {
- if(p != NULL) {
- treeprint(p->left);
- cout << p->field << " ";
- treeprint(p->right);
- }
- }
- int main()
- {
- struct tnode *root;
- root = NULL;
- int n, m, znach;
- cin >> n;
- for (int i = 0; i<n; i++)
- {
- cin >> znach;
- root = addnode(znach, root);
- }
- treeprint(root);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement