您的位置:首页 > 产品设计 > UI/UE

VerifySequenceOfBST

2016-08-26 10:59 155 查看
#include<stdio.h>
bool VerifySequenceOfBST(int sequence[],int length){

if(sequence==NULL || length<=0)
return false;
int root=sequence[length-1];
int i;
for(i=0;i<length-1;i++)
if(sequence[i]>root)
break;
for(int j=i;j<length-1;j++)
if(sequence[j]<root)
return false;
bool left=true;
if(i>0)
left=VerifySequenceOfBST(sequence,i);
bool right=true;
if(i<length-1)
right=VerifySequenceOfBST(sequence+i,length-1-i);
return left&&right;
}
void main(){
int data[] = {4, 8, 6, 12, 16, 14, 10};
bool flag=VerifySequenceOfBST(data,7);
if(flag)
printf("后序搜索二叉树序列正确\n");
else printf("不正确\n");
int data1[] = {7, 6, 4, 5};
flag=VerifySequenceOfBST(data1,4);
if(flag)
printf("后序搜索二叉树序列正确\n");
else printf("不正确\n");
flag=VerifySequenceOfBST(NULL,0);
if(flag)
printf("后序搜索二叉树序列正确\n");
else printf("不正确\n");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: