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

📄 express.c

📁 C语言常用的一些经典的非常有用的各类算法
💻 C
字号:
typedef struct
{
 int flag;   //0 : operator   1: number
 string str;
 linktable *father;
 linktable *son;
 linktable *brother;
}linktable;


string linktable_to_expression(linktable *head)
{
linktable *root, *brother, *son;
string express, str1, str2;
root = head;
while(root->son <> NULL)
{
 
}
}




Status Print_Expression(Bitree T)//按标准形式输出以二叉树存储的表达式
{
if(T->data是字母) printf("%c",T->data);
else if(T->data是操作符)
{
  if(!T->lchild||!T->rchild) return ERROR; //格式错误
  if(T->lchild->data是操作符&&T->lchild->data优先级低于T->data)
  {
    printf("(");
    if(!Print_Expression(T->lchild)) return ERROR;
    printf(")");
  } //注意在什么情况下要加括号
  else if(!Print_Expression(T->lchild)) return ERROR;
  printf("%c",T->data);
  if(T->rchild->data是操作符&&T->rchild->data优先级低于T->data)
  {
    printf("(");
    if(!Print_Expression(T->rchild)) return ERROR;
    printf(")");
  }
  else if(!Print_Expression(T->rchild)) return ERROR;
}
else return ERROR; //非法字符
return OK;
}//Print_Expression 



typedef struct
{
 int flag;   //0 : operator   1: number
 string data;
 linktable *father;
 linktable *son;
 linktable *brother;
}linktable;

string s = '';

Status Output_Expression(linkTable T) //输出存储的表达式
{
linkTable temp;
if(T->flag ==1)   //number
{
	s += "(";     
	s += T->data;
	temp = T;
	while (!T->brother)
	{
		s += temp->father->data;
		s += T->data;
		T = T->brother;
	}
	T = temp;
	s += ")";
}
else if(T->flag == 0)   //operator
{
  if(!T->son) return ERROR;    //格式错误
  //s += "(";
  if(T->son->flag == 0)  //operator
  {
    s += "(";
    if(!Output_Expression(T->son)) return ERROR;
    s += ")";
  } 
  else if(!Output_Expression(T->son)) return ERROR;
  temp = T;
  while(!T->brother)
  {
	s += temp->father->data;
    if(T->brother->flag == 0)   //operator
	{
      if(!Output_Expression(T->brother)) return ERROR;
	}
    else
	{
		s += T->brother->data;
	}
	T = T->brother;
  }
  T = temp;
}
else return ERROR; //非法字符
return OK;
}//Print_Expression 

⌨️ 快捷键说明

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