当前位置: 首页 > news >正文

逆波兰表达式

计算机表达式的计算处理

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

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

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

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

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

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

http://www.dtcms.com/a/86354.html

相关文章:

  • [Lc17_多源 BFS_最短路] 矩阵 | 飞地的数量 | 地图中的最高点 | 地图分析
  • 串口接收不到数据,串口RX配置(f407),f103和f407的区别
  • Linux第二章第三章练习
  • python总结
  • 微调这件小事:训练集中的输入数据该作为instruction还是input?从LLaMA-Factory的源码中寻找答案吧~
  • 深度学习框架PyTorch——从入门到精通(8)保存并加载模型
  • 渐进式滑坡多场信息演化特征与数据挖掘研究
  • 蓝桥杯C++基础算法-0-1背包(优化为一维)
  • keda基于postgresql伸缩dify-api服务
  • Vite 创建 Vue3 项目指定 Package name 问题:Invalid package. json name
  • list的模拟实现和学习
  • 基于Matlab的大气湍流光束传输特性的研究
  • 基于springboot的古典舞在线交流平台(046)
  • 使用 Node.js 从零搭建 Kafka 生产消费系统
  • 数组作为哈希表的妙用:寻找缺失的第一个正数
  • 【NR NTN 3GPP协议】非地面网络(NR NTN)3GPP协议简介
  • Java-01-源码篇-并发编程-多线程常见接口讲解
  • 04_Linux驱动_06_GPIO子系统总结
  • 护网期间监测工作全解析:内容与应对策略
  • 强化学习的常用策略浅析
  • 【嵌入式学习2】函数
  • 【MySQL】字符集与排序规则
  • unsloth微调QwQ32B(4bit)
  • PyTorch 深度学习实战(22):多智能体强化学习(MARL)
  • QT5.14.2 gradle 构建安卓失败的处理方法
  • [RoarCTF 2019]Easy Calc-3.23BUUCTF练习day5(2)
  • 大语言模型-2.2/3-主流模型架构与新型架构
  • CH32V208蓝牙内部带运放32位RISC-V工业级微控制器CH32V208CBU6、CH32V208GBU6开发板原理图和PCB
  • 【Linux文件IO】Linux中标准IO的API的描述和基本用法
  • SpringBoot集成Couchbase开发与实践