#include #include #include #include "btree.h" struct b_node *ROOT; struct b_node* init_node(void) { struct b_node* node; node = malloc(sizeof(struct b_node)); if (!node) return NULL; node->key_count = 0; node->is_leaf = false; node->keys = NULL; node->ptrs = NULL; node->leaf = NULL; return node; } void print_leaf(struct b_node *node) { if (!node->is_leaf) { printf("Error: trying to print a node instead of a leaf\n"); return; } /* printf(" Parent node: */ printf("Data: %d\n", node->leaf->data); printf("Next sib: %p\n", node->leaf->) void print_root(void) { printf("This is the ROOT of the tree \n"); if (ROOT->is_leaf) print_leaf(ROOT); else print_node(ROOT); } int main(void) { ROOT = init_node(); if (!ROOT) { printf("Error to initialize root node\n"); goto exit0; } printf("ROOT: %p\n", ROOT); free(ROOT); exit0: return 0; }