#include <stdlib.h>
#include <iostream.h>
class Node {
protected:
Node *left;
Node *right;
int data;
public:
Node() { left=right=NULL;data=0; }
void Insert(Node *root,Node *ptr);
Node* Form(int p);
void Print(Node *root);
};
Node* Node::Form(int p) {
Node *tmp;
tmp=(Node *)malloc(sizeof(Node));
tmp->data=p;
tmp->left=NULL;
tmp->right=NULL;
return tmp;
}
void Node::Insert(Node *root,Node *ptr) {
if(root==NULL) root=ptr;
else {
if(root->left==NULL) Insert(root->left,ptr);
else Insert(root->right,ptr);
}
}
void Node::Print(Node *root) {
int j=1;
while(root!=NULL) {
cout << j << " " << root->data << endl;
root=root->left;
j++;
}
}
void main() {
int i=0;
Node *root,*t,*p,*r;
root=NULL;
while(i<5) {
root->Insert(root,root->Form(10));
i++;
}
root->Print(root);
}
Бинарное дерево
Либо я чего-то не понимаю, либо что-то еще. Объясните популярно, как строить дерево...