题目内容
设计算法判定给定二叉树是否为二叉排序树。 void BSTree(BiTree t,int &flag,int &last);//声明 Status IsBSTree(BiTree t){ int flag = 1; int last =0; BSTree(t,flag,last); return flag; } void BSTree(BiTree t,int &flag,int &last){//取地址不需要返回值 if(t->lchild&&flag) BSTree(t->lchild,flag,last);//遍历左子树 if(t->data.key>last&&flag) last = t->data.key; else flag=0; //last原为父节点值,但到了树叶节点后被树叶节点的key值覆盖,然后开始向上反馈key if(t->rchild&&flag) ; }
查看答案
搜索结果不匹配?点我反馈