// linked list implementation of a binary tree #include #include #include "tree.h" typedef struct node { Item item; Node left; Node right; } node; Node NodeCreate(Item item) { Node new = malloc(sizeof(new)); new->item = item; new->left = NULL; new->right = NULL; return new; } void TreePrint(Node n) { if (n == NULL) {printf("---\n"); return;} else { printf("value: %d\n", n->item); printf("left\n"); TreePrint(n->left); printf("right\n"); TreePrint(n->right); } } int main(void) { Node n1 = NodeCreate(5); Node n2 = NodeCreate(6); Node n3 = NodeCreate(7); Node n4 = NodeCreate(8); Node n5 = NodeCreate(9); n1->left = n2; n1->right = n3; n2->left = n4; n2->right = n5; TreePrint(n1); free(n1); free(n2); free(n3); free(n4); free(n5); }