typedef struct Node {
int key;
struct Node* parent;
struct Node* left;
struct Node* right;
} Node;
typedef struct BinarySearchTree {
Node* root;
} BinarySearchTree;
// nahoře je předdefinované
// dole napsané mnou
Node *createNode(int key){
Node *newNode = malloc(sizeof(Node)); // vytvoření nového prvku v BVS
newNode->key = key;
newNode->left = NULL;
newNode->right = NULL;
return newNode;
}
Node *insertNodes(Node *node, int key){
if(node == NULL){ //empty tree, add new node
node = createNode(key);
return node;
}else if(key <= node->key){
node->left = insertNodes(node->left, key); // insert new node to left
return node;
}else{
node->right = insertNodes(node->right, key); // insert new node to right
return node;
}
}
void insertNode(BinarySearchTree *tree, int key) { // předefinované
insertNodes(tree->root, key); // pro zjednodušení
/* nenastala žádná změna a nevím proč */
}
// v mainu
tree->root = NULL;
insertNode(tree, 3);
// tady nenastala žádná změna .. tree->root stále nulový
if ((tree->root == NULL) || (tree->root->key != 3)) {
printf("NOK - chybne vkladani do prazdneho stromu\n");