二叉树的操作(二)

来源:互联网 发布:怎样做文明网络小公民 编辑:程序博客网 时间:2024/05/19 13:19

紧接着上一篇总结,关于二叉树的遍历(递归,非递归)参考博客:二叉树的创建 先序 中序 后续 递归和非递归遍历
判断树是不是一个二叉排序树:

bool isBST(Tree& root){    if(!root)    {        return true;    }        if(root->left && root->right)        {            if((root->data < root->right->data) && (root->data > root->left->data))            {                return isBST(root->left)&&isBST(root->right);            }            else            {                return false;            }        }        else if(root->left && !root->right)        {            if(root->left->data < root->data)            {                return isBST(root->left);            }            else            {                return false;            }        }        else if(root->right && !root->left)        {            if(root->data < root->right->data)            {                return isBST(root->right);            }            else            {                return false;            }        }        else        {            return true;        }}
0 0
原创粉丝点击