Rev 2501 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2501 | Rev 2504 | ||
---|---|---|---|
Line 51... | Line 51... | ||
51 | typedef struct avltree_node avltree_node_t; |
51 | typedef struct avltree_node avltree_node_t; |
52 | typedef struct avltree avltree_t; |
52 | typedef struct avltree avltree_t; |
53 | 53 | ||
54 | typedef uint64_t avltree_key_t; |
54 | typedef uint64_t avltree_key_t; |
55 | 55 | ||
56 | typedef void (* avltree_walker_t)(avltree_node_t *); |
56 | typedef bool (* avltree_walker_t)(avltree_node_t *, void *); |
57 | 57 | ||
58 | /** AVL tree node structure. */ |
58 | /** AVL tree node structure. */ |
59 | struct avltree_node |
59 | struct avltree_node |
60 | { |
60 | { |
61 | /** |
61 | /** |
Line 131... | Line 131... | ||
131 | extern avltree_node_t *avltree_find_min(avltree_t *t); |
131 | extern avltree_node_t *avltree_find_min(avltree_t *t); |
132 | extern avltree_node_t *avltree_search(avltree_t *t, avltree_key_t key); |
132 | extern avltree_node_t *avltree_search(avltree_t *t, avltree_key_t key); |
133 | extern void avltree_insert(avltree_t *t, avltree_node_t *newnode); |
133 | extern void avltree_insert(avltree_t *t, avltree_node_t *newnode); |
134 | extern void avltree_delete(avltree_t *t, avltree_node_t *node); |
134 | extern void avltree_delete(avltree_t *t, avltree_node_t *node); |
135 | extern bool avltree_delete_min(avltree_t *t); |
135 | extern bool avltree_delete_min(avltree_t *t); |
136 | extern void avltree_walk(avltree_t *t, avltree_walker_t walker); |
136 | extern void avltree_walk(avltree_t *t, avltree_walker_t walker, void *arg); |
137 | 137 | ||
138 | #endif |
138 | #endif |
139 | 139 | ||
140 | /** @} |
140 | /** @} |
141 | */ |
141 | */ |