动态查找表(二叉排序树的实现)
定义的操作:
//初始化
Status InitBiTree(BiTree *T)
//销毁
void DestroyTree(BiTree *T)
//.查找
BiTree SearchBST(BiTree T,KeyType key)
//插入
Status InsertBST(BiTree *T, ElemType e)
//删除节点
void Delete(BiTree *p)
{
//查找需要删除的
Status DeleteBST(BiTree *T,KeyType key)
//打印
Status PrintElement(ElemType e){
//中序遍历
Status TraverseBST(BiTree T, Status (* Visit)(ElemType e))
2、存储结构定义
#include<stdio.h>
#dene TRUE 1
#dene FALSE 0
#dene OK 1
#dene ERROR 0
typedef int Status;
typedef int KeyType;
typedef struct {
KeyType key;
}ElemType;
//-----二叉树的二叉链表存储表示-----
typedef struct BiTNode {
ElemType data;
struct BiTNode *lchild, *rchild; //左右孩子指针