diff options
Diffstat (limited to 'Computer_Science/data_structures/chapter_4/avl_tree.h')
| -rw-r--r-- | Computer_Science/data_structures/chapter_4/avl_tree.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Computer_Science/data_structures/chapter_4/avl_tree.h b/Computer_Science/data_structures/chapter_4/avl_tree.h new file mode 100644 index 0000000..1be3cd6 --- /dev/null +++ b/Computer_Science/data_structures/chapter_4/avl_tree.h @@ -0,0 +1,27 @@ +#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 |
