C语言的一道编程题(关于数据结构的)

来源:百度知道 编辑:UC知道 时间:2024/05/14 17:17:32
将5*6+4*3表达式对应的二叉树存入数组,然后用递归方法创建表达式的对应的二叉树,输出表达式所对应的二叉树的一种遍历结果,并计算表达式的值.
求各位老大们速度帮我解决下哈,小弟感激不尽````````

#include<stdio.h>
#include<stdlib.h>
typedef struct BiTNode
{
char data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;

void CreateBiTree(BiTree &T)
{
char ch;
scanf("%c",&ch);
if(ch==' ') T=NULL;
else
{
T=(BiTNode *)malloc(sizeof(BiTNode));
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
void PostOrderTraverse(BiTree T)
{
if(T!=NULL){
PostOrderTraverse(T->lchild);
printf("%2c",T->data);
PostOrderTraverse(T->rchild);
}
}

void main()
{
char ch1,ch2;
printf(" ====================================================\n");
printf("\n 先序创建一棵二叉树,用后序的方法输出\n");
printf("\n ====================================================\n");
BiTree T;