/* bst.h */
#ifndef BST_H
#define BST_H
typedef struct node *link;
struct node {
unsigned char item;
link l, r;
};
link search(link t, int key);
link insert(link t, int key);
link delete(link t, int key);
void print_tree(link t);
#endif
#################################################
// bst.c
#include<stdlib.h>
#include<stdio.h>
#include"bst.h"
static link make_node(unsigned char item){
link p = malloc(sizeof *p);
p->item = item;
p->l = p->r = NULL;
return p;
}
static void free_node(link p){
free(p);
}
link search(link t, int key){
if