二叉排序树要求:
根节点的数值必须大于等于左子树的结点数值,同时小于等于右子树的结点数值
采用层序遍历思想,对每个结点的左右子节点的数值进行判断
int JudgeBST(BiTree T){BiTNode *p = T;if(!T) return 0;InitQueue(Q);EnQueue(Q,p);while(!isEmpty(Q)){DeQueue(Q,p);if(p->lchild){if(p->lchild->data > p->data){return false;}else{EnQueue(Q,p->lchild);}}else if(p->rchild){if(p->rchild->data < p->data){return false;}else{EnQueue(Q,p->rchild);}}}return true;
}