2022-08-04 11:40:24 +08:00

38 lines
560 B
C

#include "arm11/util/rbtree.h"
#include "rbtree_internal.h"
static inline rbtree_node_t*
do_minmax(const rbtree_t *tree,
int max)
{
rbtree_node_t *node = tree->root;
if(node == NULL)
return NULL;
while(node->child[max] != NULL)
node = node->child[max];
return node;
}
rbtree_node_t*
rbtree_min(const rbtree_t *tree)
{
rbtree_node_t *node;
node = do_minmax(tree, LEFT);
return node;
}
rbtree_node_t*
rbtree_max(const rbtree_t *tree)
{
rbtree_node_t *node;
node = do_minmax(tree, RIGHT);
return node;
}