9.31④
试写一个判别给定二叉树是否为二叉排序树
的算法,设此二叉树以二叉链表作存储结构。且树中
结点的关键字均不同。
实现下列函数:
Status IsBSTree(BiTree t);
二叉树的类型BiTree定义如下:
typedef struct {
} ElemType;
typedef struct BiTNode {
}BiTNode, *BiTree;
答案以及解析:
void BSTree(BiTree t,int &flag,int &last);//声明
Status IsBSTree(BiTree t)
{
}
void BSTree(BiTree t,int &flag,int &last)//取地址不需要返回值
{
//last原为父节点值,但到了树叶节点后被树叶节点的key值覆盖,让后开始向上反馈key
}