#ifndef _AVL_TREE_H #define _AVL_TREE_H struct AvlNode; typedef struct AvlNode *Position; typedef struct AvlNode *AvlTree; typedef int elem_t; AvlTree make_empty(AvlTree t); Position find(elem_t x, AvlTree t); Position find_min(AvlTree t); Position find_max(AvlTree t); AvlTree insert(elem_t x, AvlTree t); AvlTree delete(elem_t x, AvlTree t); elem_t retrieve(Position p); /* for print node, place impl in header file */ struct AvlNode { elem_t elem; AvlTree left; AvlTree right; int height; }; typedef AvlTree Tree; #endif