From 981e8bfd12f79cb469bb54a915230eda6dafab41 Mon Sep 17 00:00:00 2001 From: Christian C Date: Sun, 23 Mar 2025 14:59:45 -0700 Subject: Comparator Type --- include/lib/algo/avl_tree.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'include/lib/algo/avl_tree.h') diff --git a/include/lib/algo/avl_tree.h b/include/lib/algo/avl_tree.h index 4467fd1..4400aa6 100644 --- a/include/lib/algo/avl_tree.h +++ b/include/lib/algo/avl_tree.h @@ -8,9 +8,11 @@ #define AvlHeight_t uint8_t +typedef bool_t (*AvlComparator)(void*, void*); + struct AVLNode { void* data; - bool_t (*compare)(void*, void*); + AvlComparator compare; struct AVLNode* left; struct AVLNode* right; AvlHeight_t height; @@ -32,10 +34,10 @@ struct AVLNode* right_rotate(struct AVLNode* parent); struct AVLNode* left_rotate(struct AVLNode* parent); // Create AVL node -struct AVLNode* create_avl_node(void* data, bool_t (*compare)(void*, void*)); +struct AVLNode* create_avl_node(void* data, AvlComparator compare); // Insert data into AVL tree -struct Result avl_insert(struct AVLNode* node, void* data, bool_t (*compare)(void*, void*)); +struct Result avl_insert(struct AVLNode* node, void* data, AvlComparator compare); // In-order traversal print pointer void print_in_order(struct AVLNode* root); -- cgit v1.2.1