📄 myavltree.h
字号:
/**
*
* @file myAVLTree.h avl平衡树
*
* @author lin shao chuan (email:lsccsl@tom.com, msn:lsccsl@163.net)
*
*/
#ifndef __MYAVLTREE_H__
#define __MYAVLTREE_H__
#include "mymempool.h"
#include "MyfunctionDef.h"
/**
* @brief 句柄声明
*/
typedef struct __myavltree_handle__
{int unused;}*HMYAVL_TREE;
/**
* @brief 句柄声明
*/
typedef struct __myavltree_iter__
{int unused;}*HMYAVL_TREE_ITER;
/**
*
* @brief 构造avl树
*
*/
extern HMYAVL_TREE MyAVLTreeConstruct(HMYMEMPOOL hm, ALG_COMPARE compare);
/**
*
* @brief 销毁avl树
*
*/
extern void MyAVLTreeDestruct(HMYAVL_TREE htree);
/**
*
* @brief 添加一条记录
*
*/
extern int MyAVLTreeInsert(HMYAVL_TREE htree, const void * key, const void * data);
/**
*
* @brief 根据关键字删除一条记录
*
*/
extern int MyAVLTreeDel(HMYAVL_TREE htree, const void * key, void ** pkey, void ** pdata);
/**
*
* @brief 查找记录
*
*/
extern HMYAVL_TREE_ITER MyAVLTreeSearch(HMYAVL_TREE htree, const void * key);
/**
*
* @brief 获取迭代器的值域
*
*/
extern void * MyAVLTreeGetIterData(HMYAVL_TREE_ITER it);
/**
*
* @brief 获取迭代器的关键字域
*
*/
extern const void * MyAVLTreeGetIterKey(HMYAVL_TREE_ITER it);
/**
*
* @brief avl是否符合规则
*
*/
extern void MyAVLTreeExamin(HMYAVL_TREE htree);
/**
*
* @brief 计算avl最大路径
*
*/
extern int MyAVLTreeMaxPath(HMYAVL_TREE htree);
/**
*
* @brief 计算avl最大路径
*
*/
extern int MyAVLTreeMinPath(HMYAVL_TREE htree);
/**
*
* @brief 计算avl最大路径
*
*/
extern int MyAVLTreeGetCount(HMYAVL_TREE htree);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -