Destroy: to destroy a subtree, first prune it from the tree that contains it.

Warning: subtrees become invalid pointers.

C data type definitions

typedef enum {Left,Right,Up} direction;
typedef int element;
typedef struct node {
  element value;
  struct node *left,*right,*up;
} node;
typedef node *binary_tree;