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

简洁明了!中缀表达式转为后缀表达式规则及代码

 简单来说,就是弄两个栈,判断执行:

上代码: 

#include<iostream>
#include<stack>
#include<cstring>
using namespace std;
stack<char>s1,s2;
char now;
int main(){string c;cin>>c;for(int i=0;i<c.length();i++){if(c[i]>='0'&&c[i]<='9'){s2.push(c[i]);if(!(c[i+1]>='0'&&c[i+1]<='9'))s2.push('.');	} else if(c[i]=='+'||c[i]=='-'){while(!s1.empty()&&s1.top()!='('){s2.push(s1.top());s1.pop();}s1.push(c[i]);}else if(c[i]=='*'||c[i]=='/'){while(!s1.empty()&&(s1.top()=='*'||s1.top()=='/')){s2.push(s1.top());s1.pop();}s1.push(c[i]);}else if(c[i]=='('){s1.push(c[i]);}else if(c[i]==')'){while(s1.top()!='('){s2.push(s1.top());s1.pop();}s1.pop();}}while(!s1.empty()){s2.push(s1.top());s1.pop();}while(!s2.empty()){s1.push(s2.top());s2.pop();}while(!s1.empty()){cout<<s1.top();s1.pop();}return 0;
}

因为csp中常考的就是中、后缀的计算,所以先写这些,后续再更

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 第L6周:机器学习-随机森林(RF)
  • 计算机网络 ---- 计算机网络的体系结构【计算机网络的分层结构】
  • Python和MATLAB及C++信噪比导图(算法模型)
  • python绘制3d建筑
  • 数据清洗-缺失值填充-K-NN算法(K-Nearest Neighbors, K-NN算法)
  • 排队免单模式小程序开发
  • ElementUI 布局——行与列的灵活运用
  • 初学Linux(学习笔记)
  • 【区块链通用服务平台及组件】基于向量数据库与 LLM 的智能合约 Copilot
  • 【STM32】外部中断
  • C++ | Leetcode C++题解之第406题根据身高重建队列
  • 栈与队列(c语言实现)
  • linux命令学习-sed命令
  • Unity教程(十五)敌人战斗状态的实现
  • C#使用TCP-S7协议读写西门子PLC(五)-测试程序
  • Angular Elements 及其运作原理
  • C# 免费离线人脸识别 2.0 Demo
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Js基础知识(一) - 变量
  • k8s 面向应用开发者的基础命令
  • MySQL数据库运维之数据恢复
  • node 版本过低
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • sessionStorage和localStorage
  • vue-loader 源码解析系列之 selector
  • vue自定义指令实现v-tap插件
  • 每天10道Java面试题,跟我走,offer有!
  • 我从编程教室毕业
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 原生js练习题---第五课
  • ​2021半年盘点,不想你错过的重磅新书
  • ​io --- 处理流的核心工具​
  • ​插件化DPI在商用WIFI中的价值
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (SpringBoot)第七章:SpringBoot日志文件
  • (黑马点评)二、短信登录功能实现
  • (五)MySQL的备份及恢复
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)IOS中获取各种文件的目录路径的方法
  • ./和../以及/和~之间的区别
  • .net mvc部分视图
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .Net6使用WebSocket与前端进行通信
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • @Import注解详解
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [1204 寻找子串位置] 解题报告
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会