二叉排序树的理论看课本
代码如下:
BSTree.h
struct BSTreeNode;
typedef struct BSTreeNode *ptrtreenode;
void MakeEmpty(ptrtreenode T);
ptrtreenode InsertBSTree(int x,ptrtreenode T); //二叉树的插入操作
ptrtreenode FindMin(ptrtreenode T);//查找以T为头结点的子树中最小的关键字的结点,并返回--------------------递归方式实现
ptrtreenode FindMin1(ptrtreenode T);//查找以T为头结点的子树中最小的关键字的结点,并返回--------------------非递归方式实现
ptrtreenode DeleteBSTree(int x,ptrtreenode T); //删除关键字为x的结点(递归策略)
void PrintBSTree_Pre(ptrtreenode T);//先序遍历
void PrintBSTree_Post(ptrtreenode T);//后序遍历
void PrintBSTree_In(ptrtreenode T);//中序遍历
BSTree.c
//name :jae chia
//purpose:创建二叉查找树,并进行二叉查找树的结点的删除,搜索带有某个关键字的结点等
#include<stdio.h>
#include<stdlib.h>
#include"BSTree.h"
struct BSTreeNode
{
int element;
ptrtreenode left;
ptrtreenode right;
};
/*ptrtreenode CreateBSTree() //利用这个函数创建的是