二叉搜索树模块的接口 链表实现

本文介绍了一个二叉搜索树模块的接口实现,包括插入、查找等基本操作,并提供了树的前序、中序和后序遍历接口,支持通过回调函数进行节点处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 /*_############################################################################
  _##
  _##  二叉搜索树模块的接口
  _##  Author: xwlee                         
  _##  Time: 2007.01.01  
  _##  Chang'an University
  _##  Development condition: win2003 Server+VC6.0
  _##
  _##  bsearchtree.h 文件
  _##########################################################################*/


// 树的元素的类型.
#define TREE_TYPE  int  
typedef struct TREE_NODE{
    TREE_TYPE value;
    struct TREE_NODE *left;
    struct TREE_NODE *right;
}treenode;

// --------------------------外部接口-------------------------------
// 向树添加一个新值,参数是需要被添加的值,它必须原先并不存在于树中
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) );

// --------------------------外部接口-------------------------------

// 临时函数
treenode **get_tree_piont( void );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值