文章
286
粉丝
0
获赞
2
访问
102.8k
1)遍历数组假设 数组下标i从0开始 则2i+1是其左孩子 2i+2是其右孩子
判断是否满足SqBiTNode[2i+1]<SqBiTNode[i]<SqBiTNode[2i+2]
2)typedef struct {
Elemtype SqBiTNode[MAX_SIZE];
int ElemNum;
}SqBiTree;
bool isBST(SqBiTree T){
if(T.ElemNum == 0){// 空树默认是二叉搜索树
return true;
}
for(int i =0;i<T.ElemNum;i++){
if(T.SqBiTNode[2*i+1]!=-1 && T.SqBiTNode[2*i+1]>T.SqBiTNode[i]){
return false;//如果左节点存在并且根节点<左节点则返回false
break;
}
if(T.SqBiTNode[2*i+2]!=-1 && T.SqBiTNode[2*i+2]<T.SqBiTNode[i]){
return false;//如果右节点存在并且根节点>右节点则返回false
&nbs...
登录后发布评论
暂无评论,来抢沙发