习题-46.c

来自「本人收集的一些数据结构经典算法实现」· C语言 代码 · 共 35 行

C
35
字号
//本程序只给出了算法思想
//读者可以自己完善本程序
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;
		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

⌨️ 快捷键说明

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