一、前言
上一篇文章
数据结构之栈----PTA题目7-20表达式转换(中缀转后缀)中,我们学会了利用堆栈将中缀表达式转化为缀表达式。今天我们换一种方式,通过
创建二叉树、遍历二叉树实现二元运算的中缀表达式转化为后缀表达式。事实上,当这个二叉树构造出来后,对其先序遍历可得前缀表达式,对其中序遍历可得中缀表达式,对其后序遍历可得后序表达式。一般的,在编译原理中,这种树的概念也是非常重要的,这也是一种一般的在给定文法后,对于字符串进行分析的方法。刷题中遇到的几乎所有的字符串分析题目都属于编译原理的内容,但我没正式学过编译原理。
二、题目
7-20 表达式转换(25 分)
算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。
输入格式:
输入在一行中给出不含空格的中缀表达式,可包含+
、-
、*
、\
以及左右括号()</