下你所需,载你所想!
汇集开发技术源码资料

二叉树的相关基础操作

:1.976KB :1 :2022-10-10 15:24:57

部分简介

二叉树的相关基础操作如果开发者对于本文件有需要的可以参考。
完成二叉树的各种基本操作
BT *CreateBTree()
{
BT *t;
char ch;
scanf("%c",&ch);
getchar();
if(ch=='0')
t=NULL;
else
{
t=(BT *)malloc(sizeof(BT));
t->data=ch;
printf("请输入%c结点的左孩子结点:",t->data);
t->lchild=CreateBTree();
printf("请输入%c结点的右孩子结点:",t->data);
t->rchild=CreateBTree();
}
return t;
}
void ShowBTree(BT *T) /*用广义表表示法显示二叉树*/
{ if (T!=NULL) /*当二叉树非空时*/
{ printf("%c",T->data); /*输入该结点数据域*/
if(T->lchild!=NULL) /*若其左子树非空*/
{ printf("("); /*输入左括号*/
ShowBTree(T->lchild); /*递归调用该函数输出其左子树各结点*/
if(T->rchild!=NULL) /*若其右子树非空*/
{ printf(","); /*输出逗号*/
ShowBTree(T->rchild); /*递归调用该函数输出其右子树各结点*/
}
printf(")");
}
else
if(T->rchild!=NULL) /*二叉树左子树为空,右子树不为空时*/
{
printf("("); /*输入左括号*/
ShowBTree(T->lchild); /*递归调用该函数输出其左子树各结点*/
if(T->rchild!=NULL) /*若其右子树非空*/
{ printf(","); /*输出逗号*/
ShowBTree(T->rchild); /*递归调用该函数输出其右子树各结点*/
}
printf(")");
}
}
}

二叉树的相关基础操作

热门推荐

相关文章