【Java数据结构的实现】之系列三栈的实现(使用栈计算后缀表达式)
上讲介绍了栈的介绍,最后并给出了栈的抽象数据类型
1.1本章学习目标
中、后缀表达式简介后缀表达式的实现
本文介绍了栈的实例–使用栈计算后缀表达式:
1.2 中、后缀表达式简介
①中缀表达式:
通常,虚拟主机,算术表达式写作中缀表达式,香港服务器租用,,什么是中缀表达式呢?中缀表达式就是:操作符位于操作数之间。
如下形式:
<操作数><操作符><操作数>
例如表达式:1+2*3,计算时,我们根据表达式的优先规则来计算。其结果是7而不是9.
那什么是后缀表达式呢?
②后缀表达式:
后缀表达式就是:操作符位于两个操作数之后,后缀表达式的形式如下:
<操作数><操作数><操作符>
如下所示:
12-等价于1-2
③使用后缀表达式的优点:
后缀表达式比中缀表达式更容易计算,因为它不用考虑优先规则和括弧,表达式中的操作数和操作符的顺序就足以完成计算。
因此程序设计语言编辑器和运行时环境在其内部中往往使用后缀表达式。
④后缀表达式的计算规则:
后缀表达式的计算过程可以概括如下:
从左到右扫描整个表达式,把每个操作符应用到其之前两个相邻的操作数,并计算该结果,免备案空间,剩下的表达式以此类推。
1+2*3
可以转换成后缀表达式如下:
1 2 3 * +
计算过程如下:
1 2*3 + –> 1 6 + –>7
更复杂的后缀表达式,亦是如此规则。由此可以发现,栈是用于计算后缀表达式的理想数据结构。
1.3 后缀表达式的实现
①程序设计的思路:
程序运行时,会提示用户反复输入操作数和操作符,中间已空格隔开。
②程序关键部位均有详细的注释!
③测试方法:
④测试结果:
本文出自 “幽灵柯南的技术blog” 博客,请务必保留此出处
却坐在不足一平米的椅子上。