栈实现四则运算--逆波兰运算(后缀表达式)

本文介绍了如何使用栈进行四则运算,重点讲解了前缀、中缀和后缀(逆波兰)表达式的概念。通过示例阐述了后缀表达式的计算方法,并提供了代码实现,用于处理包含小数点的后缀表达式计算。下一部分将探讨如何将中缀表达式转换为后缀表达式及其关键点。
摘要由CSDN通过智能技术生成

飞行日记之数据结构与算法分析——栈与四则运算

本次举例说明如何利用栈来完成简单的四则运算。

四则运算的前缀、中缀和后缀表达式(逆波兰运算)
  • 前缀表达式计算方法:(3+4)x5-6 >>> - x + 3 4 5 6从右至左扫描,遇到数字则压入数栈,遇到运算符,弹出数栈顶两个数并作相应运算,计算结果入栈;重复上述过程直到前缀表达式最左端;
  • 中缀表达式计算方法:正常表达式即中缀表达式。
  • 后缀表达式计算方法:6 x(5 +(2 +3) x8) >>> 6 5 2 3 + 8 x + x从左到右扫描,遇到数字则压入数栈,遇到运算符,弹出数栈顶两个数并作相应运算,计算结果入栈;重复上述过程直到前缀表达式最右端;
  • 代码实现:通过给定的后缀表达式,利用栈完成计算(包括多位数和小数点,不包括负数);
package LeetCodeAQ;
import java.util.*;

public class PolandNotation {
	public static void main(String[] args) {
		//输入后缀表达式 每个数字和符号中间用 空格 隔开(1-2*3)+((5*3-1)*2-1)
	    String suffixExpression 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值