⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 expr.h

📁 实现基于二叉树表示的算术表达式Expression的操作
💻 H
字号:
#include"BiTree.h"
status ReadExpr(BiTree &T)
{
	printf("请输入先序表达式:\n");
	scanf("%s",a);
    if(Creat(T)) return 1;
}

void WriteExpr(BiTree T)
{
int r=0;int l=0;
if (T)
{
if(T->lchild)
{
if (Sign(T->lchild->data)&&
(Precede(T->data,T->lchild->data)))
{
l=1;printf("(");
}
WriteExpr(T->lchild);
if(l) printf(")"); 
}

if(T->data=='#') printf("%d",T->nu);
else printf("%c",T->data);
if(T->rchild)
{
if (Sign(T->rchild->data)&&(Precede(T->data,T->rchild->data)))
{
r=1;
printf("(");
}
WriteExpr(T->rchild);
if (r) printf(")"); 
}

}
}



status Assign(BiTree &T)
{
   char a;
   if(T){
       if(Letter(T->data))
	   {printf("请给%C赋值:\n",T->data);
	      fflush(stdin);
          a=getchar();
		  T->data='#';
          T->nu=a-48;
          return 1;
	   }
   else
   {
         Assign(T->lchild);
         Assign(T->rchild);
   }
        return 1;
   }
  return 1;
}
void Change(BiTree &T)
{
	if(T!=NULL){
	if(Num(T->data)){T->nu=T->data-48;T->data='#';}
	Change(T->lchild);Change(T->rchild);}
}
status Value(BiTree &T)
{

int i;
for(i=0;i<7;i++)
{
   Caclue(T);
 }
printf("%d",T->nu);return 1;
}
BiTree CompoundExpr(char P,BiTree T1,BiTree T2)
{
BiTree T;
if (!(T=(BiTNode *)malloc(sizeof (BiTNode)))) return 0;
T->data=P;
T->lchild=T1;T->rchild=T2;
return T;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -