逆波兰表达式

计算机表达式的计算处理

我们日常写的计算表达式都是中缀表达式 ,计算机进行计算工作时,都是先将输入的中缀表达式转为后缀表达式(逆波兰表达式 ),再将后缀表达式字符串引用数组遍历转数字数据在进栈与出栈中与转的运算符字符进行对应计算与存值:

1.中缀表达式转后缀表达式

将中缀表达式里所有计算的单元都用小括号扩起来 ,将括号里的运算符字符都移到所属括号的外头 ,再将所有的括号去掉,就成了后缀表达式

2.遍历后缀表达式字符串引用数组

  • 如果引用指向的是数字数据 的字符串,就将数字数据字符串转为数字数据抛进栈里
  • 如果引用指向的是运算符 的字符串,就从栈中抛出掉两个数字数据依次放在运算符右左端进行对应计算得值,并将得值再抛入栈中

最后字符串引用数组遍历完后,栈中剩下的那一个数字数据就是整个计算表达式的值

相关推荐
aimmon4 分钟前
Rust从入门到精通之入门篇:8.基本数据结构
开发语言·数据结构·rust
布伦鸽5 分钟前
C# Modbus TCP/IP学习记录
开发语言·学习·c#
Jack电子实验室41 分钟前
STM32实现智能温控系统(暖手宝):PID 算法 + DS18B20+OLED 显示,[学习 PID 优质项目]
stm32·学习·算法
程序员Linc1 小时前
《数字图像处理》第三章 3.8 基于模糊技术的图像强度变换与空间滤波学习笔记
笔记·学习·数字图像处理·模糊技术·强度变换·空间滤波
张张张3121 小时前
3.25学习总结 抽象类和抽象方法+接口+内部类+API
java·学习
十五年专注C++开发1 小时前
双指针技巧在C++中的应用:从基础到进阶
开发语言·数据结构·c++
viperrrrrrrrrr72 小时前
大数据学习(88)-zookeeper实现的高可用(HA)
大数据·学习·zookeeper
王RuaRua2 小时前
[数据结构]1.时间复杂度和空间复杂度
c语言·数据结构·算法
亭午2 小时前
pyspark学习rdd处理数据方法——学习记录
学习
愚戏师2 小时前
C++:泛型算法
开发语言·数据结构·c++·算法