#include <stdio.h>
#include <stdlib.h>
#define EOR -1
typedef int EleType;//typedef 定义存放数据的类型,便于修改
typedef struct TreeNode {
EleType data;//存放的数据
struct TreeNode* lNode;//左节点指针
struct TreeNode* rNode;//右节点指针
}TreeNode;
//创建及插入数据
void InsertBSTree(TreeNode** phead, EleType val);
//删除树的节点
void PopBSTree(TreeNode** phead, EleType data);
//遍历树
void SearchBSTree(TreeNode** phead);
//找最小值并返回
TreeNode** FindMin(TreeNode* phead);
//TreeNode* FindMax(TreeNode* phead);
int main(void) {
TreeNode* phead = NULL;
EleType data=0;
//如果树空创建树,然后循环插入数据
while (1) {
printf("input NodeVal:\n");
scanf_s("%d", &data);
if (data == NULL) {
break;
}
InsertBSTree(&phead, data);
}
//输入删除的数据
printf("input val which you want to delete:\n");
scanf_s("%d", &data);
PopBSTree(&phead, data);
SearchBSTree(&phead);
free(phead);
return 0;
}
void InsertBSTree(TreeNode** phead, EleType v