练习题8参考答案(2)

2018-11-22 10:25

}

}

//由str建立二叉链bt

void CreateBTree(BTNode * &bt,char *str) { }

void DestroyBTree(BTNode *&bt) { }

if (bt!=NULL) { }

DestroyBTree(bt->lchild); DestroyBTree(bt->rchild); free(bt);

BTNode *St[MaxSize],*p=NULL; ElemType d; int top=-1,k,j=0; char ch; bt=NULL; ch=str[j]; while (ch!='\\0') { }

switch(ch) {

//str未扫描完时循环

//建立的二叉树初始时为空

case '(':top++;St[top]=p; //为'(',其后结点为栈顶结点的左孩子

k=1; break;

//为')',当前子树结束

//为',',其后结点为栈顶结点的右孩子 //为数字符,提取数字并建相应的结点

case ')':top--;break; case ',':k=2; break; default: } j++; ch=str[j];

d=0;

while (str[j]>='0' && str[j]<='9') { } j--;

//后退一个字符

p=(BTNode *)malloc(sizeof(BTNode)); p->data=d; p->lchild=p->rchild=NULL; if (bt==NULL) { } break;

bt=p;

//已建立二叉树根结点

switch(k) {

case 1:St[top]->lchild=p;break; case 2:St[top]->rchild=p;break; } else

//*p为二叉树的根结点

//str[j]为数字符,将数字串转换成数值d d*=10;

d+=str[j]-'0'; j++;

//销毁二叉树

void DispBTree(BTNode *bt) { }

void main() { }

BTNode *bt; if (bt!=NULL) { }

printf(\

//输出二叉树

if (bt->lchild!=NULL || bt->rchild!=NULL) { }

printf(\

//有子树时输入'('

DispBTree(bt->lchild); //递归处理左子树 if (bt->rchild!=NULL) //有右子树时输入'.'

printf(\

//子树输出完毕,再输入一个')'

DispBTree(bt->rchild); //递归处理右子树 printf(\

char a[]=\CreateBTree(bt,a);

printf(\二叉树:\if (judgeBST(bt))

printf(\该二叉树是一棵BST\\n\printf(\该二叉树不是一棵BST\\n\else

DestroyBTree(bt);


练习题8参考答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:建筑外窗抗风压性能计算书普通

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: