File tree Expand file tree Collapse file tree 2 files changed +170
-54
lines changed
Expand file tree Collapse file tree 2 files changed +170
-54
lines changed Original file line number Diff line number Diff line change 55extern "C" {
66#endif
77
8+
9+
810typedef enum COLOR {
911 RED ,
1012 BLACK
1113} COLOR ;
1214
15+
16+
17+
18+ /** @struct RBNode
19+ * @brief This structure implements a basic RED BLACK Tree node.
20+ * @var RBNode::key
21+ * Member 'key' is a pointer to the node value.
22+ * @var RBNode::color
23+ * Member 'color' hold the current color of the node.
24+ * @var RBNode::left
25+ * Member 'left' is a pointer to the left node.
26+ * @var RBNode::right
27+ * Member 'right' is a pointer to the right node.
28+ * @var RBNode::parent
29+ * Member 'parent' is a pointer to the parent node.
30+ */
31+
1332typedef struct RBNode {
1433 void * key ;
1534 COLOR color ;
@@ -18,6 +37,20 @@ typedef struct RBNode {
1837 struct RBNode * parent ;
1938} RBNode ;
2039
40+
41+
42+ /** @struct RBTree
43+ * @brief This structure implements a basic generic RED BLACK Tree.
44+ * @var RBTree::root
45+ * Member 'root' is a pointer to the root node.
46+ * @var RBTree::nodeCount
47+ * Member 'nodeCount' hold the current number of nodes.
48+ * @var RBTree::freeItem
49+ * Member 'freeItem' is a pointer to the free function, that will be called to free the tree values.
50+ * @var RBTree::cmp
51+ * Member 'cmp' is a pointer to the comparator function, that will be called to compare the tree values.
52+ */
53+
2154typedef struct RBTree {
2255 struct RBNode * root ;
2356 int nodeCount ;
You can’t perform that action at this time.
0 commit comments