301 * @param tree the AVL tree |
301 * @param tree the AVL tree |
302 * @return the node count |
302 * @return the node count |
303 */ |
303 */ |
304 size_t ucx_avl_count(UcxAVLTree *tree); |
304 size_t ucx_avl_count(UcxAVLTree *tree); |
305 |
305 |
|
306 /** |
|
307 * Finds the in-order predecessor of the given node. |
|
308 * @param node an AVL node |
|
309 * @return the in-order predecessor of the given node, or <code>NULL</code> if |
|
310 * the given node is the in-order minimum |
|
311 */ |
|
312 UcxAVLNode* ucx_avl_pred(UcxAVLNode* node); |
|
313 |
|
314 /** |
|
315 * Finds the in-order successor of the given node. |
|
316 * @param node an AVL node |
|
317 * @return the in-order successor of the given node, or <code>NULL</code> if |
|
318 * the given node is the in-order maximum |
|
319 */ |
|
320 UcxAVLNode* ucx_avl_succ(UcxAVLNode* node); |
|
321 |
306 #ifdef __cplusplus |
322 #ifdef __cplusplus |
307 } |
323 } |
308 #endif |
324 #endif |
309 |
325 |
310 #endif /* UCX_AVL_H */ |
326 #endif /* UCX_AVL_H */ |