介绍
二叉查找树是按二叉树结构来组织的。它的每个结点分为数据域和指针域,数据域包括key值和卫星数据,指针域包括父结点指针,左孩子指针以及右孩子指针。而且,二叉查找树满足特性左孩子的key值<=父结点的key值<=右孩子的Key值。
实现
二叉查找树的结构如下:
typedef struct _Node
{
int data;
_Node* parent;
_Node* left;
_Node* right;
}Node;
typedef struct _Tree
{
Node* root;
}Tree;
这里把data当成Key值,没有卫星数据。当然,实际开发中你可以把任何你觉得可以的数据当成key值,带不带卫星数据也随你。下面进行二叉查找树的初始化:
static Tree* g_tree;
void init()
{
g_tree = new Tree;
g_tree->root = nullptr;
}
这没什么好说的,刚开始没数据,是空树。
Node* treeSea