/*_############################################################################
_##
_## 二叉搜索树模块的接口
_## Author: xwlee
_## Time: 2007.01.01
_## Chang'an University
_## Development condition: win2003 Server+VC6.0
_##
_## bsearchtree.h 文件
_##########################################################################*/
// 树的元素的类型.
#define TREE_TYPE int
// --------------------------外部接口-------------------------------
// 向树添加一个新值,参数是需要被添加的值,它必须原先并不存在于树中
void insert( TREE_TYPE value );
// 查找一个特定的值,函数返回该值的指针.
TREE_TYPE *find( TREE_TYPE value );
// 执行树的前序遍历,它的参数是一个回调函数指针,它所指向的函数将在
// 树中处理每个结点时被调用,结点的值作为参数传递给这个函数.
void pre_order_traverse( void (*callback)(TREE_TYPE value) );
// 执行树的中序遍历,它的参数是一个回调函数指针,它所指向的函数将在
// 树中处理每个结点时被调用,结点的值作为参数传递给这个函数.
void mid_order_traverse( void (*callback)(TREE_TYPE value) );
// 执行树的后序遍历,它的参数是一个回调函数指针,它所指向的函数将在
// 树中处理每个结点时被调用,结点的值作为参数传递给这个函数.
void back_order_traverse( void (*callback)(TREE_TYPE value) );
// --------------------------外部接口-------------------------------
// 临时函数
void treeprint();
_##
_## 二叉搜索树模块的接口
_## Author: xwlee
_## Time: 2007.01.01
_## Chang'an University
_## Development condition: win2003 Server+VC6.0
_##
_## bsearchtree.h 文件
_##########################################################################*/
// 树的元素的类型.
#define TREE_TYPE int
// --------------------------外部接口-------------------------------
// 向树添加一个新值,参数是需要被添加的值,它必须原先并不存在于树中
void insert( TREE_TYPE value );
// 查找一个特定的值,函数返回该值的指针.
TREE_TYPE *find( TREE_TYPE value );
// 执行树的前序遍历,它的参数是一个回调函数指针,它所指向的函数将在
// 树中处理每个结点时被调用,结点的值作为参数传递给这个函数.
void pre_order_traverse( void (*callback)(TREE_TYPE value) );
// 执行树的中序遍历,它的参数是一个回调函数指针,它所指向的函数将在
// 树中处理每个结点时被调用,结点的值作为参数传递给这个函数.
void mid_order_traverse( void (*callback)(TREE_TYPE value) );
// 执行树的后序遍历,它的参数是一个回调函数指针,它所指向的函数将在
// 树中处理每个结点时被调用,结点的值作为参数传递给这个函数.
void back_order_traverse( void (*callback)(TREE_TYPE value) );
// --------------------------外部接口-------------------------------
// 临时函数
void treeprint();