summaryrefslogtreecommitdiff
path: root/src/03/avl_tree.h
blob: 7bc9270a088b2ebddaa5c95a7c16cae8f29a189c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "rb_tree.h"

typedef struct node {
  struct node *left;
  struct node *right;
  int height;
  int value;
} AVLTree;

AVLTree *avl_tree_initialize(int value);
int avl_tree_size(AVLTree *tree);
AVLTree *avl_tree_insert(AVLTree *tree, int value);
AVLTree *avl_tree_delete(AVLTree *tree, int value);
void avl_tree_inspect(AVLTree *tree);
RBTree *avl_tree_to_rb_tree(AVLTree *tree);