【1】树的镜像翻转
void mirror()
{
cout << "镜像翻转:";
mirror(_root);
}
void mirror(BSTNode *node)
{
if (node == nullptr)
return;
BSTNode *ptmp = node->_left;
node->_left = node->_right;
node->_right = ptmp;
mirror(node->_left);
mirror(node->_right);
}
【2】判断一棵二叉树是不是一棵BST树
bool isBSTtree()
{
BSTNode *pre = nullptr;
return isBSTree(_root, pre);
}
bool isBSTree(BSTNode *node,BSTNode *&pre)
{
if (node == nullptr)
{
return true;
}
if (!isBSTree(node->_left, pre))
{
return false;
}
if (pre != nullptr)
{
if (node->_data < pre->_data)
{
return false;
}
}
pre = node;
return isBSTree(node->_right, pre);
}
【3】寻找BST树指定区间的元素结果集
void findAreaData(int first, int last)
{
vector<