diff options
| author | Steve Lee <me@xiangyangli.com> | 2017-12-10 22:57:14 +0800 |
|---|---|---|
| committer | Steve Lee <me@xiangyangli.com> | 2017-12-10 22:57:14 +0800 |
| commit | b9659f0ae3b4766cccea4f6f62d883cd61f98620 (patch) | |
| tree | d485d99ac36651950a58f9867619eb3bd77143b2 /Computer_Science/data_structures/chapter_4/avl_tree.h | |
| parent | 1ab42d462e335898902c6513c7f71c5a591c945a (diff) | |
| download | 42-b9659f0ae3b4766cccea4f6f62d883cd61f98620.tar.xz 42-b9659f0ae3b4766cccea4f6f62d883cd61f98620.zip | |
avl_tree impl
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 |
