判断该给定的二叉树是否为二叉搜索树
/*
typedef struct TNode *Position;
typedef Position BinTree;
struct TNode{
ElementType Data;
BinTree Left;
BinTree Right;
};
*/
BinTree B=NULL;//全局指针,用来记录中序的上一个结点
bool IsBST( BinTree T)
{
//如果结点为空 直接返回true
if(T){
if(!IsBST(T->Left)) return false; //进左子树
if(B && B->Data > T->Data) return false;
//若上一个结点的值大于当前这个说明不合法,返回false
B=T; //赋值此时的结点给B,方便进入下一次的比较
if(!IsBST(T->Right)) return false;//进右子树
}
return true;
}
posted on 2024-11-09 23:38 swj2529411658 阅读(2) 评论(0) 编辑 收藏 举报