/* * btree.h * * Created on: Sep 7, 2011 * Author: ian */ #ifndef BTREE_H_ #define BTREE_H_ struct BTreeNode { int key; void * data; struct BTreeNode * lesser; // Tree of nodes whose key is less than this one struct BTreeNode * greater; // Tree of nodes whose key is greater than this one unsigned char isDirty; // Has data been written to the buffer since it was loaded? int timestamp; // Value of Ticks when the node was created. }; struct BTreeNode * CreateBTreeNode(int key, void * data); void AddBTreeNode(struct BTreeNode * btree, int key, void *data); struct BTreeNode * FindBTreeNode(struct BTreeNode * btree, int key); struct BTreeNode * DeleteBTreeNode(struct BTreeNode * btree, int key); struct BTreeNode * BalanceBTree(struct BTreeNode * btree); #endif /* BTREE_H_ */