summaryrefslogtreecommitdiff
path: root/src/02/03/btree.h
blob: fe418608f0fc43e2f3347bbc82da456dbb6f80d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdlib.h>
#include <stdbool.h>

typedef struct btree_node {
  struct btree_node *left;
  struct btree_node *right;
  struct btree_node *parent;
  int data;
} BTree;

BTree *btree_initialize(BTree *parent, int data);
BTree *btree_insert(BTree *root, int data);
BTree *btree_rebalance(BTree *tree);
void btree_inspect(BTree *tree);
int btree_size(BTree *tree);