恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

嵌套类问题解题模板(模拟计算器)

  • 首页
  • 资讯中心
  • /
  • 嵌套类问题解题模板(模拟计算器)

相关资讯

Windows热键冲突终结者:Hotkey Detective完整使用指南 2026/8/2 10:45:47
7个必须尝试的理由:为什么Seraphine是英雄联盟玩家的终极智能助手 2026/8/2 10:40:46
R1225嵌入式开发板实现RS485 Modbus通信:从硬件连接到FreeMODBUS移植 2026/8/2 10:40:46

最新资讯

图腾柱驱动电路:从原理到实战,解决MOSFET栅极驱动难题
3个步骤,用专业工具精准测量你的真实网速
「闲聊文」准大三的我,思前想后还是不搞java/IT了
易信easyMarkets:出金规则透明有助于澄清诈骗误解
Elasticsearch安全配置实战:elasticsearch-setup-passwords报错深度解析与修复指南
Simple Runtime Window Editor:终极窗口分辨率调整工具完全指南

今日推荐

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案
分布式配置中心选型实战:Nacos与Consul在创业场景下的对比
MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

本周热门

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案
分布式配置中心选型实战:Nacos与Consul在创业场景下的对比
MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

嵌套类问题解题模板(模拟计算器)

发布时间:2026/8/2 10:45:47
嵌套类问题解题模板(模拟计算器) 用到数字栈和符号栈#include iostream#include string#include vectorusing namespace std;int where;// 提前声明int f(const string s, int i);void push(vectorint numbers,vectorchar ops,int cur,char op) {int n numbers.size();// 前一个运算符是加减当前数字直接加入if (n 0 || ops[n - 1] || ops[n - 1] -) {numbers.push_back(cur);ops.push_back(op);} else {// 前一个运算符是乘除立即计算int topNumber numbers[n - 1];char topOp ops[n - 1];if (topOp *) {numbers[n - 1] topNumber * cur;} else {numbers[n - 1] topNumber / cur;}ops[n - 1] op;}}int compute(const vectorint numbers,const vectorchar ops) {int n numbers.size();int ans numbers[0];for (int i 1; i n; i) {if (ops[i - 1] ) {ans numbers[i];} else {ans - numbers[i];}}return ans;}// 从 s[i] 开始计算// 遇到字符串结尾或者右括号停止int f(const string s, int i) {int cur 0;vectorint numbers;vectorchar ops;while (i s.size() s[i] ! )) {// 读取多位数if (s[i] 0 s[i] 9) {cur cur * 10 (s[i] - 0);i;}// 遇到运算符else if (s[i] ! () {push(numbers, ops, cur, s[i]);cur 0;i;}// 遇到左括号else {cur f(s, i 1);// where 指向右括号i where 1;}}// 把最后一个数字加入push(numbers, ops, cur, );// 记录当前停止的位置where i;return compute(numbers, ops);}int calculate(const string str) {where 0;return f(str, 0);}int main() {string str;cin str;cout calculate(str) \n;return 0;}

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号