Код
#include "stdafx.h"
#include <iostream>
#include<time.h>
#include<windows.h>
using namespace std;
struct Node{
int x;
Node* left;
Node * right;
};
struct Tree{
Node * root;
} Root;
Node* init(){
Node*newNode = new Node;
newNode->x = rand() % 10 + 1;
newNode->left = newNode->right = NULL;
return newNode;
}
void generete(){
Node* current = new Node;
current = Root.root;
Node*newNode = new Node;
newNode = init();
while (true)
{
if (current->x > newNode->x){
if (current->left == NULL){
current->left = newNode;
break;
}
else{
current = current->left;
}
}
else if (current->x <= newNode->x){
if (current->right == NULL){
current->right = newNode;
break;
}
else{
current = current->right;
}
}
///*else
// newNode = init();*/
}
}
void prinT(Node* current){
if (current != NULL){
cout << "value =" << current->x << endl;
prinT(current->left);
prinT(current->right);
}
}
int main()
{
srand(time(NULL));
Root.root = init();
int n = 0;
cin >> n;
for (int i = 1; i < n - 1; i++){
generete();
}
//Node* current = new Node;
//current = Root.root;
prinT(Root.root);
system("pause");
return 0;
}
/*подумати як зробити перебалансіровку дерева
*/