bst.h
структура узла для bst
struct node {
int data;
node* left;
node* right;
};
класса bst У меня есть
class bst{
node* root;
public:
bst();
node* newnode(int);
void insertnode(node*,int);
void insert(int);
void displaybtree();
~bst();
};
в .cpp У меня есть реализации
bst::bst(){}
новый узел для создания каждого нового узла
node * bst::newnode(int k){
node * temp = new node;
temp->data = k;
temp->left = temp->right = NULL;
return temp;
}
void bst::insertnode(node* root,int k)
{
if (root == NULL)
{
root = newnode(k);
}
else {
if (root->data < k)
{
return insertnode(root->left,k);
}
else
{
return insertnode(root->right, k);
}
}
}
вышеуказанный узел не может указать корень на новый узел